1、首先小编这里创秃赈沙嚣建一个winform的小窗口程序,然后在主窗口中放置一个pictureBox,和一个按钮,要实现的功能是点击按钮然后再pictureBox中画出一个绿色的长方形,如下图:
2、下图中就是主要代码,接下来小编对其中实现手动双缓冲的代码进行说明,如下图:
3、下图中的代码是说,在内存中创建一个bmp图,bmp的大小和窗口中picturebox的大小相同,如下图:
4、下图中的第一行代码是说通过内存中的bmp图像创建一个在内存中的画布g,那么在画布上的任何操作就都是在内存中操作了,第二行和第三行代码分别是创建一个绿色的笔刷,然后创建一个长方形,如下图:
5、下图中的代码就是在内存中的画布中画我们要画的图形,如下图:
6、下图中的代码是销毁资源,分别需要销毁的资源是笔刷资源和内存中的画布资源,如下图:
7、最后就是我们手动双缓冲技术的 最后一步了,就是将内存中的bmp的图像一次性的展示到窗口中的picturebox中。
8、对上面的步骤进行一下总结,一般画大量图形的时候窗体会出现闪烁现象,那么这个时候就需要双缓冲技术了,这里小编讲述的是手动蒙抬铑闵缓冲技术,手动缓冲技术的思想就是将所有要绘制的图形先画在内存中,当在内存中绘制好所有图形的时候,再把内存中绘制好的图形一次性的展示在窗口中。