我手头没有,不过其实WINDOWS自带的那个画图板就有用到双缓冲技术,简单说就是当我们在进行画图操作时,系统并不是直接把内容呈现到屏幕上,而是先在内存中保存,然后一次性把结果输出来,如果没用双缓冲的话,你会发现在画图过程中屏幕会闪的很厉害,因为后台一直在刷新,而如果等用户画完之后再输出就不会出现这种情况,具体的做法,其实也就是先创建一个位图对象,然后把内容保存在里面,最后把图呈现出来。
设置图形大小缓冲区域Rectangle drawRectangle
BufferedGraphicsContext currentContext = BufferedGraphicsManager.Current;
BufferedGraphics myBuffer = currentContext.Allocate(this.CreateGraphics(), drawRectangle);
Graphics g = myBuffer.Graphics;
利用g进行绘图
DoubleBuffered 属性