有谁知道在像素中获取 WPF 几何体长度的有效方法?我知道 WPF 中的几何图形是基于矢量的,因此并没有真正的像素长度。但是必须可以根据可见的绘制图像获得长度。我的意思是,如果我在 1024x800 像素的图像中绘制一些几何图形,则必须能够获得这些几何图形的长度。
我在这里错了还是有任何可能有效的方法来获取这些信息?
先感谢您!
迈克尔
如果我有一条封闭的路径,我可以Geometry.GetArea()用来近似我的形状区域.这很棒,节省了我很多时间.但周围有什么可以帮助我找到一条未封闭路径的长度吗?
我现在能够想出的最好PathGeometry的GetPointAtFractionLength方法是确保我正在使用并多次调用该方法,获得积分并累加所有这些点之间的距离.
码:
public double LengthOfPathGeometry(PathGeometry path, double steps)
{
Point pointOnPath;
Point previousPointOnPath;
Point tangent;
double length = 0;
path.GetPointAtFractionLength(0, out previousPointOnPath, out tangent);
for (double progress = (1 / steps); progress < 1; progress += (1 / steps))
{
path.GetPointAtFractionLength(progress, out pointOnPath, out tangent);
length += Distance(previousPointOnPath, pointOnPath);
previousPointOnPath = pointOnPath;
}
path.GetPointAtFractionLength(1, out pointOnPath, out tangent);
length += Distance(previousPointOnPath, pointOnPath);
return length;
}
public static double Distance(Point p0, Point p1)
{ …Run Code Online (Sandbox Code Playgroud)