获取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