在选定的点上绘制标志

时间:2014-08-03 10:45:15

标签: c# wpf point shapes

我为我的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);
    }

1 个答案:

答案 0 :(得分:0)

应该可以通过叠加和合并标记来实现这一点。请参阅:How to draw/overlay an image file to a bitmap image?