有什么办法画出直径5的实心圆?

zxcdewq 2007-10-18 06:16:34
Ellipse画出来怎么是方形的?
...全文
335 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ77211022 2012-04-30
  • 打赏
  • 举报
回复
鼠标书写毛笔效果
C++算法代码
毛笔 钢笔 排笔 铅笔

http://www.etfsoft.com/other/downsgoogle/maobi.rar 毛笔算法

http://www.etfsoft.com/other/downsgoogle/毛笔.jpg

13762930029 QQ77211022
qeq2008 2007-10-28
  • 打赏
  • 举报
回复
//画实心圆
void CMyPaintView::MDrawRedArc(CPoint point, int mSize)
{

CPoint tmppoint;
tmppoint.x=point.x-2;
tmppoint.y=point.y-2;

CPen pNewPen;
CPen *pOldPen;
pNewPen.CreatePen(PS_SOLID,1,RGB(255,0,0));
pOldPen = pDLMemDC.SelectObject(&pNewPen);

//定义画刷填充圆
CBrush fillbrush;
CBrush *oldbrush;
fillbrush.CreateSolidBrush(RGB(255,0,0));
oldbrush=pDLMemDC.SelectObject(&fillbrush);

pDLMemDC.Ellipse(tmppoint.x,tmppoint.y,tmppoint.x+mSize,tmppoint.y+mSize);

pDLMemDC.SelectObject(oldbrush);
pDLMemDC.SelectObject(pOldPen);
fillbrush.DeleteObject();
pNewPen.DeleteObject();

}
ar4ever 2007-10-18
  • 打赏
  • 举报
回复
楼主是怎么画出方形的,代码贴出来看看。
qeq2008 2007-10-18
  • 打赏
  • 举报
回复

pDC- >Ellipse( 0, 0, 100, 100 );
四个参数分别是矩形的左上角顶点坐标和右下角顶点坐标,要想画圆保存矩形是正方形就可以了
要画实心圆定义一个实心画刷就行了:
下面的函数point 当前鼠标,mSize半径跟踪鼠标画圆
//画圆
void CMyPaintView::MDrawRedArc(CPoint point, int mSize)
{
//AfxMessageBox("");

CPoint mPoint;
mPoint.x=point.x-2;
mPoint.y=point.y-2;

CPen pNewPen;
CPen *pOldPen;
pNewPen.CreatePen(PS_SOLID,1,RGB(255,0,0));
pOldPen = pDLMemDC.SelectObject(&pNewPen);

//定义画刷填充圆
CBrush fillbrush;
CBrush *oldbrush;
fillbrush.CreateSolidBrush(RGB(255,0,0));
oldbrush=pDLMemDC.SelectObject(&fillbrush);

pDLMemDC.Ellipse(mPoint.x,mPoint.y,mPoint.x+mSize,mPoint.y+mSize);

pDLMemDC.SelectObject(oldbrush);
pDLMemDC.SelectObject(pOldPen);
fillbrush.DeleteObject();
pNewPen.DeleteObject();

}
Eric_Wei 2007-10-18
  • 打赏
  • 举报
回复
brush画刷填充下闭合区域。
Ellipse可以画出来长轴短轴不同或者相同数据的椭圆。
长轴短轴相等就是圆
ke2007lin 2007-10-18
  • 打赏
  • 举报
回复
Eclipse的问题发在这里?

大哥,这里是C++区好不好

虽然俺也知道怎么弄,但是就不告诉你。。。。。。。。。。你发错区了
soft78 2007-10-18
  • 打赏
  • 举报
回复
填充吧
shanhqk 2007-10-18
  • 打赏
  • 举报
回复
Ellipse画出来的是椭圆,但如果外面使用的正方形,那么画出来的就是一个圆,但需要填充。
wjkgz 2007-10-18
  • 打赏
  • 举报
回复
CBrush brush;
brush.CreateSolidBrush(RGB(0,0,0));
CBrush * pOldBrush = pDC->SelectObject( &brush );
pDC->Ellipse( 0, 0, 100, 100 );
pDC->SelectObject( pOldBrush );
张大宝 2007-10-18
  • 打赏
  • 举报
回复
新鲜

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧