void ctxx1view::ondraw(cdc* pdc)
zuobiao;
zuobiao p[n];
crect rect;//定義矩形物件
getclientrect(&rect);//獲得客戶區矩形的大小
pdc->setmapmode (mm_anisotropic);//自定義座標系
pdc->setwindowext(rect.width(),rect.height());//設定視窗比例
pdc->setviewportext(rect.width(),rect.height());//設定視區比例且y軸向上
pdc->setviewportorg(rect.width()/2,rect.height()/2);//設定客戶區中心為座標原點
rect.offsetrect(-rect.width()/2,-rect.height()/2);//矩形與客戶區重合
cpen newpen,*poldpen;//定義畫筆
newpen.createpen (ps_solid,1,rgb(0,0,255));//建立藍色畫筆
poldpen=pdc->selectobject(&newpen);//將藍色畫筆選人裝置上下文
double alpha,theta;
theta=2*pi/n;//為等分角
alpha=pi/2-theta;//起始角
//極座標求值
for(int i=0;imoveto(round(p[i].x),round(p[i].y));
pdc->lineto(round(p[j].x),round(p[j].y));
} }pdc->selectobject(poldpen);//恢復裝置環境中的元畫筆
newpen.deleteobject ();//刪除已成自由狀態的藍色畫筆
releasedc(pdc);//釋放裝置指標
}
VC介面繪製雙快取
1 閃屏的問題 在gdi的繪圖系統中,每呼叫一次區域繪圖操作,如fillrect bitblt等,圖形顯示系統就會在螢幕中對指定的區域進行一次重新整理操作。如果頻繁的進行區域繪製操作的操作的話,我們就會發現,螢幕會出現閃屏。使用下面的 對閃屏的問題進行測試,在xp系統閃屏尤其嚴重,在win7系統,閃...
vc 繪製半透明矩形
要繪製透明矩形,要用到 blendfunction 這個結構體 和alphablend這個函式 方法如下 cbitmap tempbitmap 用於繪製矩形的臨時位圖 cdc tempdc crect rect 0,0,100,100 矩形大小 blendfunction blend memset ...
VC介面繪製雙快取
1 閃屏的問題 在gdi的繪圖系統中,每呼叫一次區域繪圖操作,如fillrect bitblt等,圖形顯示系統就會在螢幕中對指定的區域進行一次重新整理操作。如果頻繁的進行區域繪製操作的操作的話,我們就會發現,螢幕會出現閃屏。使用下面的 對閃屏的問題進行測試,在xp系統閃屏尤其嚴重,在win7系統,閃...