• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

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

zxcdewq 2007-10-18 06:16:34
Ellipse画出来怎么是方形的?
...全文
284 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
新鲜
回复
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2007-10-18 06:16
社区公告

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