绘制实心圆

来源:互联网 发布:matlab 矩阵符号运算 编辑:程序博客网 时间:2024/04/29 22:34

先看绘圆的代码:

<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类定义一个正方形,正方形的起始点和终止点设成一样即定义圆心,再将正方形拉宽拉高,拉宽拉高的值就是圆半径,最后将这个正方形当参数付给画椭圆的函数即可。

            如要画空心圆,只要将画图工具选成画笔就好,空心圆的空心程度,可以通过设置画笔的线宽来实现。


原创粉丝点击