views:

45

answers:

1

Hi,

How can I transfer the values of my graphics to a bitmap so I can save it as jpg or bmp file.

here's my code:

private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
    {
       using(var p = new Pen(Color.Blue, 4)){
           for (int i = 0; i < _listPS.Count; i++)
           {
            e.Graphics.DrawLine(_pen, _listPS[i], _listPE[i]);
           }
       }
    }

suppose that _listPS and _listPE have values.

ah! Solved it LOL! :) Here's my solution:

private Bitmap _mybitmap;
private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
    {   
        _mybitmap = new Bitmap(pictureBox1.Width, pictureBox1.Heigth);
        Graphics _tempg = Graphics.FromImage(_mybitmap);

       using(var p = new Pen(Color.Blue, 4){
           for (int i = 0; i < _listPS.Count; i++)
           {
               e.Graphics.DrawLine(_pen, _listPS[i], _listPE[i]);
               _tempg.DrawLine(_pen, _listPS[i], _listPE[i]);
           }

           _tempg.Dispose();
        }
    }
+1  A: 

Try this one

Bitmap _image = new Bitmap(100, 100);
Graphics _g = Graphics.FromImage(_image);

//Graphics _g = pictureBox1.CreateGraphics();
Pen _pen = new Pen(Color.Red, 3);
Point myPoint1 = new Point(10, 20);
Point myPoint2 = new Point(30, 40);

for (int i = 0; i < _listPS.Count; i++)
{
    _g.DrawLine(_pen, _listPS[i], _listPE[i]);
}

_image.Save(@"D:\test.bmp");
_image.Dispose();
_g.Dispose();
Raymund
Same as mine thanks! :)
Rye