C#绘制的图形比窗口大时,拖动窗口的滚动条图形就会出现拖影的现象,请问如何解决? 10

publicvoidDrawI(){Bitmapbmp=newBitmap(this.pictureBox1.Width,this.pictureBox1.Height)... public void DrawI()
{
Bitmap bmp = new Bitmap(this.pictureBox1.Width, this.pictureBox1.Height);//在内存中创建一个bmp图,bmp的大小和窗口中picturebox的大小相同
Graphics g = Graphics.FromImage(bmp);//下图中的第一行代码是说通过内存中的bmp图像创建一个在内存中的画布g,那么在画布上的任何操作就都是在内存中操作了,第二行和第三行代码分别是创建一个绿色的笔刷,然后创建一个长方形
Brush b = new SolidBrush(Color.SeaGreen);
Rectangle r = new Rectangle(0, 0, this.pictureBox1.Width, this.pictureBox1.Height);
g.FillRectangle(b, r);//下图中的代码就是在内存中的画布中画我们要画的图形
b.Dispose();//下图中的代码是销毁资源,分别需要销毁的资源是笔刷资源和内存中的画布资源
g.Dispose();
this.pictureBox1.CreateGraphics().DrawImage(bmp, 0, 0);//最后就是我们手动双缓冲技术的 最后一步了,就是将内存中的bmp的图像一次性的展示到窗口中的picturebox中
}

private void Form1_Paint(object sender, PaintEventArgs e)
{
DrawI();
}
展开
 我来答
阳光的雷咩咩
2019-11-13 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7840万
展开全部
感觉应该在pictureBox的paint里面画,不能用CreateGraphics
私信帮改
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式