mfc创建画布,单击画布产生一个白色背景的小圆

画布位于对话框中,对话框还有其他控件

第1个回答  2014-08-18

以下代码演示了VC绘图的基本操作:

CRect bk(50,50,500,400);     //画布区域设置
 CClientDC dc(this);       //获取对话框DC
 CBrush gBrush(RGB(0, 255, 0));    //创建绿色画刷
 CBrush* pOldBrush=dc.SelectObject(&gBrush); //选中画刷
 dc.Rectangle(bk);       //绘画布
 CBrush wBrush(RGB(255, 255, 255));   //创建白色画刷
 CPen pen(PS_SOLID, 2, RGB(0, 0, 0));  //创建黑色画笔
 CPen* pOldPen = dc.SelectObject(&pen);  //选择画笔
 dc.SelectObject(&wBrush);     //选中画刷
 CRect rCir(100,100,300,300);    //圆区域设置(相对画布位置)
 CRect aCir(rCir.left+bk.left,rCir.left+bk.top,rCir.right+bk.left,rCir.bottom+bk.top); //位置转换(实际位置)
 dc.Ellipse(aCir);       //绘图
 dc.SelectObject(pOldPen);     //还原画笔
 dc.SelectObject(pOldBrush);     //还原画刷

追问

谢谢您的回复,请问如何获取所画圆的中心坐标呢?

追答

是自己指定的。1、代码中CClientDC类Ellipse()方法是绘椭圆的,参数是CRect区域类型,如果这个区域长宽相等,绘出来是圆,否则是椭圆。2、如果想指定圆心,可以这样: CPoint pt(x,y),然后绘图的区域设为CRect(pt.x-r, pt.y-r, pt.x+r, pt.y+r) 此处r是想设定的半径。

本回答被提问者采纳

mfc创建画布,单击画布产生一个白色背景的小圆
\/\/创建白色画刷 CPen pen(PS_SOLID, 2, RGB(0, 0, 0)); \/\/创建黑色画笔 CPen* pOldPen = dc.SelectObject(&pen); \/\/选择画笔 dc.SelectObject(&wBrush); \/\/选中画刷 CRect rCir(100,100,300,300); \/\/圆区域设置(相对画布位置) CRect aCir(rCir.left+bk.left,rCir.left+...

ps新建好画布后怎么修改设置ps新建画布后原来的去哪了
1、打开photoshop,首先我们需要创建一个画布,点击文件,再点击新建,会弹出窗口。2、根据自己需要的尺寸去填写画布的宽度,高度,背景色,和标题,设置好点击确定。3、在使用的过程中想要调整画布的大小,点击图像,弹出对话框选择调整画布大小。4、弹出对话框,修改参数当前大小指的是当前画布的大小是不能...

ps怎么加粗字体(手机wps怎么加粗字体)
1、打开ps,ctrl+n创建画布。2、输入文字。3、右键单击文字图层,点击栅格化文字。4、按住ctrl键,鼠标左键点击文字图层,载入选区。5、点击选择,修改,扩展,输入5,点击确定。6、将前景色设置为黑色,按alt+delete填充,这时候文字就变粗了,ctrl+d取消选区即可。ps创建画布 打开ps,ctrl+n创建画布...

相似回答