我想画一个半圆,用
BOOL Chord( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 );
还是
BOOL Arc( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 ); 请问后面两个是什么的坐标?是不是两个端点的坐标?msdn看不明白
再问一问题,画正多边形有没有专门的函数?还是只用Polygon把各个点连接起来。我要实现在鼠标画出的矩形框内画正多边形,所以不知道如何求各个点的坐标。画正多边形是不是还有别的方法?
BOOL Chord( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 );
还是
BOOL Arc( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 ); 请问后面两个是什么的坐标?是不是两个端点的坐标?msdn看不明白
再问一问题,画正多边形有没有专门的函数?还是只用Polygon把各个点连接起来。我要实现在鼠标画出的矩形框内画正多边形,所以不知道如何求各个点的坐标。画正多边形是不是还有别的方法?
解决方案 »
- #pragma data_seg 里面能否存放一个map?
- 为什么屏蔽OnEraseBkgnd 后,对话框背景变成透明呢?
- 一个小问题
- 有谁用过网上的一个BMP文件转换为JPG的动态链接库吗?我只调用::LoadLibrary("jpgdll.dll");就不能再操作浮点数了
- 请问如何把一个 整数 转为 IP地址形式的字符串
- 关于tabctrl子对话框的问题
- 菜鸟问题,请问vc中如何设置窗口的大小(不是对话框)?
- 请问StrTrim()
- 如何在所有的文本编辑器右键菜单复制项下面添入自己的一项?高手瞧一瞧~
- Isapi中如何读写cookies?
- 如何利用Windows Html Help Workshop 制作有按钮的chm格式的文件?
- ISAPI高手请进,不胜感激。
你只要明白,它画圆弧都是基于先构造出一个矩形框那就好说了
x1,y1是矩形框的左上角的坐标值
x2,y2是矩形框的右上角的坐标值x3,y3是矩形框的左下角的坐标值,还是圆弧的起点值
x4,y4是矩形框的右下角的坐标值,还是圆弧的终点值
麻烦回答一下第二个问题
我知道Polygon是画任意多边形的,
但是画正多边形有没有专门的函数?
后两个参数,是控制画弧的宽度,就是结尾的两点
用ARC画出的图形只是一个弧形:用Chord画出的图形是个弦形,多了连接起点、终点的直线。
用法如下:
1.Arc用法:
CRect Rec;
POINT start,end;
......//给Rec,start,end赋值
pDC->Arc(Rec,start,end);2.Chord用法:
CRect rec;
int r=50;
POINT s,e;
rec.left=110;
rec.top=110;
rec.right=rec.left+2*r;
rec.bottom=rec.top+2*r; s.x=rec.left+r;
e.x=rec.left+r;
s.y=rec.top;
e.y=rec.bottom;
pDC->Chord(&rec,s,e);注意:CRect rec应该是圆弧/弦形的椭圆的外切矩形。在使用的时候应该特别注意。楼上各位都说得很好,多边形就这个函数好用。