Zrzut grafiki utworzonej metodą CreateGraphics() do pliku lub System.Drawing.Image

0

Witam, wyczarowałem kod:

 int staryX, staryY;
	Graphics graph;
        private void pictureBox2_MouseMove(object sender, MouseEventArgs e)
        {
            
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                if (staryX != 0 && staryY != 0)
                {
                    graph.DrawLine(Pens.Black, new Point(e.X, e.Y), new Point(staryX, staryY));
                }
                staryX = e.X;
                staryY = e.Y;
            }
            else if (e.Button == System.Windows.Forms.MouseButtons.Right) { graph.Clear(Color.White); }
                
        }

        private void pictureBox2_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            graph.Clear(Color.White);
        }
  private void pictureBox2_MouseUp(object sender, MouseEventArgs e)
        {
            staryX = 0;
            staryY = 0;


        } 

Służy on do rysowania na formie, jak nietrudno się domyślić. (aha, no i w metodzie initialise() jest jeszcze linijka graph = pictureBox2.InitialiseGraphics(); Problem jak w temacie: potrzebuję otrzymać z tych bazgrołów System.Drawing.Image. lub ew Bitmap. Tylko najlepiej bez uchwytów typu CaptureWindow(), bo z nimi za dużo roboty. Googlowałem ale on chyba nie rozumie o co kaman (on w sensie Google).

0

Użyj klasy Bitmap.
np.

Bitmap b = new Bitmap(800, 600); 

z tej Bitmapy "wyciągasz" sobie Graphics poprzez np.

Graphics g = Graphics.FromImage(b);

teraz rysujesz co potrzeba, jak narysujesz dajesz:

g.Dispose(); 

Teraz w obiekcie bitmapy masz swój rysunek. Możesz z nim zrobić teraz co tylko chcesz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1