使用PictureBox的CreateGraphics方法,可以在图像框控件上画图,但绘制完成后,使用它的DrawToBitmap方法,保存下来的是空白图片,搜到很多解决方法是对图像控件区域截图,为截图还得写一大串代码。其实还有两个办法,一个是图像控件一开始就绑定一个Bitmap对象,在Bitmap上绘图后刷新重新绑定,但这样会产生闪烁的情况,还有一个方法是对图像控件绘图前,建一个和图像控件一样大小的Bitmap对象,在图像控件上怎么绘制的,在Bitmap对象上照抄一遍,如需保存,使用Bitmap的save方法即可
private void Form1_Load(object sender, EventArgs e)
{
bmp = new Bitmap(picAuthor.Width, picAuthor.Height);
System.Drawing.Graphics g1 = System.Drawing.Graphics.FromImage(bmp);
g1.Clear(Color.White);
}
Point p1, p2;
bool isDrawing = false,hasDraw=false;
Bitmap bmp = null;
private void picAuthor_MouseDown(object sender, MouseEventArgs e)
{
p1 = new Point(e.X, e.Y);
p2 = new Point(e.X, e.Y);
isDrawing = true;
}
private void picAuthor_MouseUp(object sender, MouseEventArgs e)
{
isDrawing = false;
}
private void picAu

博客介绍了如何保存在PictureBox上绘制的图像。常见的问题是使用DrawToBitmap保存得到空白图片,作者提出了两种解决方案:一是绑定Bitmap对象并刷新,可能导致闪烁;二是先创建与PictureBox尺寸相同的Bitmap,直接在Bitmap上复制所有绘制操作,然后使用Bitmap的Save方法保存图像。
最低0.47元/天 解锁文章
773

被折叠的 条评论
为什么被折叠?



