今天写代码的时候,有人问我,往PictrueBox绘图后,怎么把那个图保存起来呢?结果搞了半天,都没能把PictrueBox里面现有的图像还原出一个Image来。后来发现了两个方法可以做这个事情,一个是截屏,把PictrueBox的位置的屏幕显示截取下来,令外一种就是我们现在要讨论的方法,不要把图片直接绘制在PictrueBox里,而是绘制在PictrueBox的Image属性里,然后刷新显示。
详细的操作方法请参照下面的代码:
public
Bitmap BoxBitmap
=
null
;
private
void
button1_Click(
object
sender, EventArgs e)
...
{ Graphics vGraphics = Graphics.FromImage(BoxBitmap); vGraphics.FillRectangle(Brushes.White, new Rectangle(0, 0, BoxBitmap.Width, BoxBitmap.Height)); vGraphics.DrawLine(new Pen(Color.Black, 2), new PointF(-1, -1), new PointF(100, 100)); pictureBox1.Invalidate(); // 刷新 BoxBitmap.Save(@"c:/temp/temp.bmp"); }
private
void
Form1_Load(
object
sender, EventArgs e)
...
{ BoxBitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height); pictureBox1.Image = BoxBitmap; }
转载请注明原文地址: https://ibbs.8miu.com/read-200193.html