C++/GDI+ 学习笔记(四)——实用技巧——双缓冲(Double Buffer)

来源:互联网 发布:房屋平面设计软件 编辑:程序博客网 时间:2024/05/19 23:16

 双缓冲在GDI+里可以有效的提高描画效率。改善显示的质量。

  下面的代码是一个最简单的双缓冲的模板。可以根据需要,做简单的修改即可。

      Bitmap CacheImage( [Width], [Height] );
      Graphics CacheGraphics( &CacheImage );
 
      // 对CacheImage进行描画
      // ......
     
      // 获得窗口的Graphics对象
      Graphics Graphic( [ Window’s HDC ] );
 
// 将描画好的CacheImage画到窗口上
      Graphic.DrawImage( &CacheImage, [Left], [Top] );

 
根据一些简单的测试,双缓冲可以有效的改善图像的处理速度。不过最明显的效果还是降低画面的闪烁程度。

另外还可以使用CachedBitmap类来做双缓冲。Graphic也有专门的DrawCachedBitmap方法来描画CachedBitmap。但没有上述的方法灵活。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/eplanet/archive/2007/10/12/1821239.aspx

原创粉丝点击