cdc memdc; //首先定義乙個顯示裝置物件
cbitmap membitmap;//定義乙個位圖物件
//隨後建立與螢幕顯示相容的記憶體顯示裝置
memdc.createcompatibledc(null);
//這時還不能繪圖,因為沒有地方畫
//下面建立乙個與螢幕顯示相容的點陣圖,至於點陣圖的大小嘛,可以用視窗的大小
membitmap.createcompatiblebitmap(pdc,nwidth,nheight);
//將位圖選入到記憶體顯示裝置中
//只有選入了點陣圖的記憶體顯示裝置才有地方繪圖,畫到指定的點陣圖上
cbitmap *poldbit=memdc.selectobject(&membitmap);
//先用背景色將位圖清除乾淨,這裡我用的是白色作為背景
//你也可以用自己應該用的顏色
memdc.fillsolidrect(0,0,nwidth,nheight,rgb(255,255,255));
//繪圖
memdc.moveto(……);
memdc.lineto(……);
//將記憶體中的圖拷貝到螢幕上進行顯示
pdc->bitblt(0,0,nwidth,nheight,&memdc,0,0,srccopy);
//繪圖完成後的清理
membitmap.deleteobject();
memdc.deletedc();
vc雙緩衝 VC 雙緩衝實現方法
在圖形圖象處理程式設計過程中,雙緩衝是一種基本的技術。我們知道,如果窗體在響應wm paint訊息的時候要進行複雜的圖形處理,那麼窗體在重繪時由於過頻的重新整理而引起閃爍現象。解決這一問題的有效方法就是雙緩衝技術。因為窗體在重新整理時,總要有乙個擦除原來圖象的過程onerasebkgnd,它利用背景...
VC顯示雙緩衝
當應用程式中使用多次gdi呼叫繪製到視窗中時,在視窗清除並被重新繪製時,會出現明顯的閃爍。使用雙緩衝技術可輕鬆消除閃爍。步驟如下 1 假設當前顯示裝置上下文為cdc pdc 2 使用cdc物件建立可相容裝置上下文,cdc memdc memdc.createcompatibledc pdc 3 使用...
GDI 雙緩衝實現
gdi 使用雙緩衝繪圖 我再來詳細解釋一下剛才實現雙緩衝的具體步驟 1 在記憶體中建立一塊 虛擬畫布 bitmap bmp new bitmap 600,600 2 獲取這塊記憶體畫布的graphics引用 graphics g graphics.fromimage bmp 3 在這塊記憶體畫布上繪...