Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sauvegarder PictureBox avec changement

C#{

    12 juin 2018 à 22:09:50

    Bonjour.

    J'ai un PictureBox où je dessine une forme à la main.

    Après de très nombreuses recherche, je ne parviens pas à enregistrer les modification faites à la main. Beaucoup de post sur ce sujet existe, beaucoup disent qu'il faut modifier l'image et non le pictureBox, mais rien de concret au final.

    Si vous pouviez me donner le petit truc qu'il me manque...

    Merci

    Voilà mon code:

    C'est pour enregistrer que je n'y arrive pas...

     private void Form22_Load(object sender, EventArgs e)
            {
                bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
                Panel pn = new Panel();
                pn.Size = pictureBox1.Size;
                pn.BackColor = Color.White;
                pn.DrawToBitmap(bmp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
                pictureBox1.Image = bmp;
            }
    
            bool _mustFDraw;
            Point _previousPosition;
            Graphics _pbGraphics;
    
            Bitmap bmp;
    
            private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    _mustFDraw = true;
                }
            }
    
            private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    _mustFDraw = false;
                    _previousPosition = Point.Empty;
                }
            }
    
            private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            {
                if (_mustFDraw)
                {
    
                    _pbGraphics = pictureBox1.CreateGraphics();
    
                    Point currentPosition = new Point(e.X, e.Y);
    
                    if (_previousPosition == Point.Empty)
                    {
                        _previousPosition = currentPosition;
                    }
    
                    _pbGraphics.DrawLine(Pens.Black, _previousPosition, currentPosition);
                    _previousPosition = currentPosition;
    
                }
            }
    
    
    
    
    
    
            private void pictureBox1_Click(object sender, EventArgs e)
            {
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                pictureBox1.Refresh();
                bmp = new Bitmap( pictureBox1.Image);
    
                bmp.Save(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) + "\\SIGNATURE.bmp");
    
            }



    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2018 à 4:46:35

      Bonjour à tous.

      Comme dit, j'ai fais de très nombreuses recherche, et je n'avais rien trouvé.

      MAIS: j'ai trouvé, et comme on est là pour partager, je vous donne le bout de code que j'ai mis dans mon button:

                  var imagePath = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) + "\\image.bmp";
      
                  Image bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
                  var gg = Graphics.FromImage(bmp);
                  var rect = pictureBox1.RectangleToScreen(pictureBox1.ClientRectangle);
                  gg.CopyFromScreen(rect.Location, Point.Empty, pictureBox1.Size);
      
                  bmp.Save(imagePath);

      Ca enregistre une capture de mon écran à l'emplacement exacte de mon contrôle, donc, de mon pictureBox.

      Bonne soirée

      • Partager sur Facebook
      • Partager sur Twitter

      Sauvegarder PictureBox avec changement

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown