本文介绍了是否可以访问图形路径中的点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果向定义了两端位置的Graphicspath添加了一条线,是否可以读取这对点?
Point[] myArray =
{
new Point(30,30),
new Point(60,60),
};
GraphicsPath myPath2 = new GraphicsPath();
myPath2.AddLines(myArray2);
在myPath2中,有没有类似于myPath2.Location
的东西可以给我(30,30)和(60,60)分?
谢谢
推荐答案
可以通过GraphicsPath.PathPoints
实现,但您需要了解GraphicsPath.PathTypes
的第二个数组!
仅当所有点作为直线坐标的简单点数组添加时,可能如下所示:
List<Point> points = new List<Point>();
.. // add some points!
GraphicsPath gp = new GraphicsPath();
gp.AddLines(points.ToArray());
您是否能够毫不费力地使用/修改这些点。
如果您通过圆形形状添加它们,如.
gp.AddEllipse(ClientRectangle);
..您需要了解各种类型!将它们作为其他曲线添加时也是如此gp.AddCurves(points.ToArray());
如果将它们添加为gp.AddRectangle(ClientRectangle);
,您将获得常规的点数,但字节类型为
0-表示该点是图形的起点。
在您的案例中,您的第一个点如下所示:
Console.WriteLine(gp.PathPoints[1].ToString());
顺便说一句:没有GraphicsPath.Location
这样的东西;但你可能会发现GraphicsPath.GetBounds()
很有用..
请注意,所有圆形(包括圆弧和椭圆!)实际上只有Bezier点:
3-指示该点是 三次Bézier样条
这意味着PathPoints
是交替的终结点和控制点。
这篇关于是否可以访问图形路径中的点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!