我为我的kinect传感器编程了一个距离测量程序。为了测量距离,用户在深度图像中选择两个点,程序显示两个点之间的距离。
为了让用户更容易记住,他选择了哪些点,我现在想要在深度图像中用符号标记所选点,并用线连接这两个点。
我现在知道有一个名为Ellipse Class的类,它允许绘制椭圆,但我不知道如何在特定图像中绘制它们。
所以在我的程序中,我通过MouseButtonState-Event获取所选点的坐标,并将相对坐标存储到变量中的深度Image中,这样我就可以读出x和y坐标。
myMousePosition = e.GetPosition(DepthImage);
我还找到了一种在XAML文件中绘制线条的方法。但我仍然不知道如何在给定点绘制一个小圆圈,并用C#代码中的一行连接这两个点。有人知道如何解决这个问题。
编辑:我尝试使用此代码在深度图像中绘制一条线,但它不起作用:
public void drawDistance(double xp1, double yp1, double xp2, double yp2)
{
double Xpos1 = xp1;
double Ypos1 = yp1;
double Xpos2 = yp2;
double Ypos2 = yp2;
myLine = new Line();
myLine.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
myLine.X1 = Xpos1;
myLine.Y1 = Ypos1;
myLine.X2 = Xpos2;
myLine.Y2 = Ypos2;
myLine.StrokeThickness = 2;
DepthImage.Child.Add(myLine);
}