程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 使用雙緩沖技術繪制曲線圖

使用雙緩沖技術繪制曲線圖

編輯:關於C++

當數據量很大時,繪圖可能需要幾秒鐘甚至更長的時間,而且有時還會出現閃爍現象,為了解決這些問題,可采用雙緩沖技術來繪制曲線圖。

雙緩沖即在內存中創建一個與屏幕繪圖區域一致的對象,先將圖形繪制到內存中的這個對象上,再一次性將這個對象上的圖形拷貝到屏幕上,這樣能大大加快繪圖的速度。雙緩沖實現過程如下:

1、在內存中創建與畫布一致的緩沖區

BufferBmp=new Graphics::TBitmap();

BufferBmp->Canvas->Handle=CreateCompatibleDC(Canvas->Handle);

BufferBmp->Width=Width;

BufferBmp->Height=Height;

2、在緩沖區畫圖

BufferBmp->Canvas->Brush->Color=clBtnFace;

BufferBmp->Canvas->FillRect(Rect(0,0,Width,Height));

BufferBmp->Canvas->MoveTo(…);

…………………………

3、將緩沖區位圖拷貝到當前畫布上

BitBlt(Canvas->Handle,0,0,Width,Height,BufferBmp->Canvas->Handle,0,0,SRCCOPY);

4、釋放內存緩沖區

delete BufferBmp;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved