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

来源:互联网 发布:2015网络大电影排行榜 编辑:程序博客网 时间:2024/05/19 22:46



双缓冲在GDI+里可以有效的提高描画效率。改善显示的质量。 下面的代码是一个最简单的双缓冲的模板。可以根据需要,做简单的修改即可。
TAG: 双缓冲  GDIPlus  


  
  双缓冲在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。但没有上述的方法灵活。
 
原创粉丝点击