雙緩衝在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