关于C#中的双缓冲(转载)

it2022-05-09  14

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

转载于:https://www.cnblogs.com/sq111433/archive/2009/11/25/sq3.html

相关资源:BitBlt 双缓冲BitBlt 双缓冲BitBlt 双缓冲

最新回复(0)