是否可以访问图形路径中的点? [英] Is it possible to access the points in a Graphicspath?

查看:47
本文介绍了是否可以访问图形路径中的点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果向定义了两端位置的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交替的终结点和控制点。

这篇关于是否可以访问图形路径中的点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆