怎么画一个光滑的圆?

sgjiaxin8 2009-01-30 05:18:18
pdc->Ellipse(3, 1, 37, 35);
这样画的圆看上去很毛糙,有什么办法画一个好看的圆吗?
...全文
128 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynkmhp 2009-01-31
  • 打赏
  • 举报
回复
顶~
sgjiaxin8 2009-01-31
  • 打赏
  • 举报
回复
我用GDI+画了圆
改怎么填充呢?
代码是这样的
Pen blackPen(Color( 255, 0, 0 ), 1);
float x = 100.0F;
float y = 100.0F;
float width = 40.0F;
float height = 40.0F;
graphics.DrawEllipse(&blackPen, x, y, width, height);
cofanz 2009-01-30
  • 打赏
  • 举报
回复
这个跟映射模式关系不大,主要还是反混(Anti-Alias),可以使用GDI+或者其它第三方库来画
ding1188 2009-01-30
  • 打赏
  • 举报
回复
http://www.cnblogs.com/XieKe-cs01/archive/2006/04/20/380526.html
要教程,上网搜一下呗
sgjiaxin8 2009-01-30
  • 打赏
  • 举报
回复
能不能给我一点代码啊
GDI+我还不会啊
Hiiishe 2009-01-30
  • 打赏
  • 举报
回复
你说的是锯齿吧,上面代码解决不了锯齿的,GDI+到是有反锯齿线
sgjiaxin8 2009-01-30
  • 打赏
  • 举报
回复
谢谢大侠指点
我试了一下,是好看一点
我的代码是这样的
CRect rect(0, 0, 40, 40);
pdc->SetMapMode(MM_ISOTROPIC);
pdc->SetWindowExt(100,100); //
pdc->SetViewportExt(rect.Width(),rect.Height());

LOGPEN logPen;
logPen.lopnColor=RGB(0,0,0);
logPen.lopnStyle=PS_SOLID;
logPen.lopnWidth.x=1;

CPen newPen;
newPen.CreatePenIndirect(&logPen);
CPen *oldPen=pdc->SelectObject(&newPen);
CBrush brush;
brush.CreateSolidBrush(COL_LIMEGREEN);
CBrush *pOldBrush = pdc->SelectObject(&brush);
pdc->MoveTo(0,0);
pdc->LineTo(100,100);
pdc->Ellipse(3, 1, 97, 95);

还能怎么改进
ding1188 2009-01-30
  • 打赏
  • 举报
回复
把映射模式换成MM_ISOTROPIC试试

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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