background image

  BasicX 示例程序的运行界

双重缓冲区绘图技术

  双重缓冲区技术能够使程序的绘图更加快速和平滑,有效减少绘制时的图像闪烁。该技术的基本原理是先

将图像绘制到内存中的一块画布上,一旦所有的绘制操作都完成了,再将内存中的画布推到窗体的或者控件

的表面将其显示出来。通过这种操作后的程序能使用户感觉其更加快速和美观。

  下面提供的示例程序能够阐明双重缓冲区的概念和实现方法,这个示例所包含的功能已相当完整,且完

全可以在实际应用中使用。在该章节后面还会提及该技术应该配合控件的一些属性设置才能达到更好的效果。

  要想领略双重缓冲区绘图技术所带来的好处就请运行 SpiderWeb 示例程序吧。程序启动并运行后对窗口

大小进行调整,你会发现使用这种绘图算法的效率不高,并且在调整大小的过程中有大量的闪烁出现。

不具备双重缓冲区技术的 SpiderWeb 示例程序

  纵观程序的源码你会发现在程序 Paint 事件激活后是通过调用 LineDrawRoutine 方法来实现线的绘制的。

LineDrawRoutine 方法有两个参数,第一个是 Graphics 对象是用于绘制线条的地方,第二个是绘图工具

Pen 对象用来画线条。代码相当简单,一个循环语句,LINEFREQ 常量等,程序从窗体表面的左下一直划线到