BeginPath

来源:百度知道 编辑:UC知道 时间:2024/05/11 15:01:01
请问BeginPath()和EndPath()到底有什么作用?

从网上找到,BeginPath函数调用启动一个路径分支,在这个命令后执行的GDI绘图命令会自动成为路径的一部分.

但是找到这个路径,又有什么具体作用呢?
和其他的一些绘图函数一起使用,会有什么样的效果? 谢谢!

BeginPath函数调用启动一个路径分支,在这个命令后执行的GDI绘图命令会自动成为路径的一部分.
EndPath函数用于结束定义一个路径,如果调用成功,BeginPath函数和它之间发生的所有绘图操作都将在指定设备场景的路径中生效。BeginPath函数一般与EndPath函数成对出现。
PathToRegion函数调用将当前选定的路径转换到指定区域中。
例:
获取椭圆(整个路径)上所有的顶点.
dcResult.BeginPath();
dcResult.Ellipse(&rc);//画椭圆
dcResult.EndPath();
dcResult.FlattenPath();
unsigned long lNumPoints = dcResult.GetPath(NULL, NULL, 0);
pts.resize(lNumPoints);
vector<BYTE> Bytes(lNumPoints);
dcResult.GetPath(&pts[0], &Bytes[0], lNumPoints);

画一个路径的
例子:CDC dc(this);
dc.BeginPath();//开始路径
MoveTo(point1);
LineTo(point2);
dc.EndPath();//结束路径
CRgn rgn;
rgn.CreateFromPath(dc);//保存路径的区域
……//可以填充区域
rgn.deleteObject();
这个就是取得了一个直线的区域

就是设定一个路径的作用