绘制实心圆
先看繪圓的代碼:
<span style="font-size:18px;"> //Draw Circle use brushCBrush brush1(RGB(255,0,0)); //red old = pDC->SelectObject(&brush1); CRect cRect; cRect.SetRect(0,0,0,0); //圓心是(0,0) cRect.InflateRect(50,50); //半徑是50 pDC->Ellipse(cRect); pDC->SelectObject(old);</span>第二行:因為要繪實心圓,所以畫圖工具選擇CBrush,首先設置一個Brush,如第二行所示,畫刷的顏色在其后面的COLORREF類參數RGB()中設定;
第三行:讓之前定好的DC(pDC)選擇新的畫刷,并將就畫刷指針給之前定義的CBrush指針old;
第四行:定義一個CRect類的具體對象cRect;
第五行:用CRect類的InflateRect函數來設置之前定義矩形的大小,在這個程序中就是設置圓心的位置,前兩個參數是矩形左上角坐標,后兩個參數是矩形右下角坐標,當前兩個參數的值和后兩個參數值一樣時,該矩形大小為零,如cRect.SetRect(20,50,20,50),圓心就定在了坐標為20,50這個點;
第六行:用CRect類的InflateRect函數來設置之前定義矩形的高度和寬度,在這個程序中就是設置圓的半徑;
第七行:用CDC類中畫橢圓的函數Ellipse來畫圓,只要將之前定義的矩形當參數付給Ellipse函數即可;
第八行:最后還原原來的畫刷;
總結:畫圓用CDC類的畫橢圓函數即可,其中先通過CRECT類定義一個正方形,正方形的起始點和終止點設成一樣即定義圓心,再將正方形拉寬拉高,拉寬拉高的值就是圓半徑,最后將這個正方形當參數付給畫橢圓的函數即可。
??????????? 如要畫空心圓,只要將畫圖工具選成畫筆就好,空心圓的空心程度,可以通過設置畫筆的線寬來實現。
總結
- 上一篇: java执行cls命令_java开发系统
- 下一篇: 注册表操作,reg脚本简单编写