Récupérer la valeur des textbox et enregistrer un graphique

Crimla - 7 mars 2013 à 13:08
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 9 mars 2013 à 10:15
Bonjour à tous,

je suis une débutante en C# et je suis actuellement en train de programmer un générateur de fractales ,je voudrais pouvoir récupérer des valeurs entrées dans les textbox d'une 2ème form (paramètres) pour les réutiliser dans la première,de même pour générer ces fractales j'utilise un graphics et je voudrais savoir si je peux l'enregistrer comme une image.

Merci d'avance.

4 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
7 mars 2013 à 13:34
Bonjour le transfert de données d'un formualire à l'autre est une question récurrente.

Il y a ce code source, ou cette discussionparmi tant d'autres

Whismeril
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
7 mars 2013 à 13:42
et pour exporter l'image d'un controle ce code marche bien
        private void ExportImage(Control control)
        {
            control.Refresh();//force le refresh pour que le popup menu ne soit plus affiché

            Bitmap bmp = ImpressionEcran.CaptureControl(control);
            
            string fichier = control.Text + ".png";
            bmp.Save(fichier, ImageFormat.Png);

            Process.Start(fichier);
        }


avec impressionEcran définit comme suit
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace MesOutils
{
    public static class ImpressionEcran
    {
        [DllImportAttribute("gdi32.dll")]
        private static extern bool BitBlt(
        IntPtr hdcDest,
        int nXDest,
        int nYDest,
        int nWidth,
        int nHeight,
        IntPtr hdcSrc,
        int nXSrc,
        int nYSrc,
        int dwRop);

        public static Bitmap CaptureControl(Control control)
        {
            Bitmap controlBmp;
            using (Graphics g1 = control.CreateGraphics())
            {
                controlBmp = new Bitmap(control.Width, control.Height, g1);
                using (Graphics g2 = Graphics.FromImage(controlBmp))
                {
                    IntPtr dc1 = g1.GetHdc();
                    IntPtr dc2 = g2.GetHdc();
                    BitBlt(dc2, 0, 0, control.Width, control.Height, dc1, 0, 0, 13369376);
                    g1.ReleaseHdc(dc1);
                    g2.ReleaseHdc(dc2);
                }
            }

            return controlBmp;
        }
    }
}


Whismeril
0
Bonsoir Whismeril,
merci pour votre réponse et donc pour enregistrer l'image il y a 2 méthodes ou bien c'est une seule méthode composée de 2 codes ?
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
9 mars 2013 à 10:15
Dans ce cas il faut utiliser les deux codes


Whismeril
0
Rejoignez-nous