VC++开发GIS系统(16)画点的Ellipse函数

在之前的文章VC++开发GIS系统(14)画点的详细解释中我只解释了关于响应鼠标的函数,而对于真正画出点(准确的说是圆点)的Ellipse函数并没有过多的解释,本文做一个补充。

画圆点函数Ellipse声明

BOOL Ellipse(int x1, int y1, int x2, int y2);
BOOL Ellipse(LPCRECT lpRect);

Ellipse的本质是画一个矩形内接圆,这里的两种传递参数的方法本质也是一样的,无非第一种是传入左上和右下的坐标,而后一种是直接传入一个矩形的对象。

为什么不是椭圆

通过上面所述,Ellipse是用来画椭圆的(废话,Ellipse本来就是椭圆的意思。)在VC++开发GIS系统(14)画点的详细解释中用来画的是一种特殊的椭圆——圆。当然也能画出椭圆来,如下图:

画出椭圆

用到的代码:

CClientDC dc(this);
dc.Ellipse(CRect(CPoint(point.x - 10, point.y - 10), CPoint(point.x + 20, point.y + 10)));

那能不能画其他类型的点?三角形的?方形的?不急,后面的文章会有介绍。

VC++开发GIS系统(15)浅说VC++中的各种DC VC++开发GIS系统(17)画一个三角形的点

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论