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
是交替的终结点和控制点。
这篇关于是否可以访问图形路径中的点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:是否可以访问图形路径中的点?
基础教程推荐
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- 如何激活MC67中的红灯 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- 将 XML 转换为通用列表 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- MS Visual Studio .NET 的替代品 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30