Is it possible to access the points in a Graphicspath?(是否可以访问图形路径中的点?)
问题描述
如果向定义了两端位置的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
是交替的终结点和控制点。
这篇关于是否可以访问图形路径中的点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:是否可以访问图形路径中的点?


- MoreLinq maxBy vs LINQ max + where 2022-01-01
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01
- 如何用自己压缩一个 IEnumerable 2022-01-01
- C# 中多线程网络服务器的模式 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
- C#MongoDB使用Builders查找派生对象 2022-09-04
- 输入按键事件处理程序 2022-01-01