转自:http://www.cnblogs.com/sq111433/archive/2009/11/25/1610541.html
1、在内存中建立一块“虚拟画布”:
Bitmap bmp = new Bitmap(600, 600);
2、获取这块内存画布的Graphics引用:
Graphics g = Graphics.FromImage(bmp);
3、在这块内存画布上绘图:
g.FillEllipse(brush, i * 10, j * 10, 10, 10);
4、将内存画布画到窗口中
this.CreateGraphics().DrawImage(bmp, 0, 0);
还有的方式
在构造函数中加如下代码
代码一:
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲
代码二:
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();
转载自:http://www.cppblog.com/cannon317/archive/2006/11/16/15265.html
本文介绍了如何使用C#进行图形绘制,并利用双缓冲技术来提高绘图效率,减少闪烁。文中提供了具体的代码实现步骤,包括创建虚拟画布、在画布上绘图以及将画布内容显示在窗口中。
323

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



