Csharp/C#教程:获取WPF路径的长度分享


获取WPF路径的长度

我使用PathGeometry绘制了一条线。使用PathGeometry Geometry长度的引用,我使用GetFlattenedPathGeometry方法得到路径的长度,该方法将路径转换为一系列直线,并加上线长。引用的代码是

 public static double GetLength(this Geometry geo) { PathGeometry path = geo.GetFlattenedPathGeometry(); double length = 0.0; foreach (PathFigure pf in path.Figures) { Point start = pf.StartPoint; foreach (PolyLineSegment seg in pf.Segments) { foreach (Point point in seg.Points) { length += Distance(start, point); start = point; } } } return length; } private static double Distance(Point p1, Point p2) { return Math.Sqrt(Math.Pow(p1.X - p2.X,2) + Math.Pow(p1.Y - p2.Y,2)); } 

有没有其他更好的方法来获得PathGeometry长度?

您可以轻松将System.Windows.Media.Geometry转换为具有ComputeLength函数的SharpDX.Direct2D1.Geometry :

计算几何的长度,就像每个段展开成一条线一样。

上述就是C#学习教程:获取WPF路径的长度分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/998315.html

(0)
上一篇 2021年12月26日 下午11:47
下一篇 2021年12月26日

精彩推荐