GDI的绘图函数可以分为两大类,一类是画闭合图形的,中间的区域会被选入DC的画刷填充,一类是非闭合图形,就是一堆线条,中间当然不会被填充了。
一、非闭合图形的函数:
BOOL PolyDraw( const POINT* lpPoints, const BYTE* lpTypes, int nCount );
BOOL Polyline( LPPOINT lpPoints, int nCount );
这两个函数功能相似,都是把一些画线操作合并起来,但是第一个函数能够添加bezier曲线
BOOL Arc( LPCRECT lpRect, POINT ptStart, POINT ptEnd );
用来绘制弧形的,参数中rect是圆弧的外接矩形,起始点和终止点是圆弧画的范围
二、闭合图形的函数:
BOOL Rectangle( LPCRECT lpRect );绘制矩形区域,内部被选入DC的画刷填充
BOOL Ellipse( LPCRECT lpRect );
绘制椭圆,内部会被选入DC的画刷填充
BOOL Chord( LPCRECT lpRect, POINT ptStart, POINT ptEnd );
CDC::Chord参数同CDC::Arc函数一样,但是这个函数会自动填充弧形的内部区域,用来画半圆比较合适。
BOOL Polygon( LPPOINT lpPoints, int nCount );
这个函数根据点数组绘制一个闭合图形,让后用选入DC的画刷填充闭合区域。
本文介绍了GDI的图形绘制,包括非闭合图形如线条和弧形,以及闭合图形如椭圆和Chord函数的使用。非闭合图形不进行填充,闭合图形则使用DC的画刷填充内部区域。
2081

被折叠的 条评论
为什么被折叠?



