Video 在视频C上绘制形状#

Video 在视频C上绘制形状#,video,draw,shapes,Video,Draw,Shapes,需要有关在视频上绘制基本形状(即使在播放时)的应用程序的帮助。我使用AXWindowsMediaPlayer控件播放视频,并在播放器控件上放置自定义面板以绘制形状。自定义面板是透明的。 可以在视频未播放时平滑绘制。但当它播放时,一切都会出错。视频上的绘图被删除。我怎样才能克服这个问题? 请帮忙。我已经找到了如何做到这一点。 这里有一种在WPF中使用画布的方法 private void buttonPlayVideo_Click(object sender, RoutedEventArgs e)

需要有关在视频上绘制基本形状(即使在播放时)的应用程序的帮助。我使用AXWindowsMediaPlayer控件播放视频,并在播放器控件上放置自定义面板以绘制形状。自定义面板是透明的。 可以在视频未播放时平滑绘制。但当它播放时,一切都会出错。视频上的绘图被删除。我怎样才能克服这个问题?
请帮忙。

我已经找到了如何做到这一点。 这里有一种在WPF中使用画布的方法

private void buttonPlayVideo_Click(object sender, RoutedEventArgs e)
{
    Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
    dlg.Filter = "All Files|*.*";
    Nullable<bool> result = dlg.ShowDialog();
    if (result == true) {
        MediaPlayer mp = new MediaPlayer();
        mp.Open(new Uri(filename));
        VideoDrawing vd = new VideoDrawing();
        vd.Player = mp;
        vd.Rect = new Rect(0, 0, 960, 540);
        DrawingBrush db = new DrawingBrush(vd);
        canvas.Background = db;
        mp.Play();
    }
}

如何在视频播放器上添加一个玻璃层来绘制它?如果在wpf中做一些事情,任何可能的事情都可以。试过了,但还是一样的问题
    Point startPoint, endPoint;
    private void canvas_MouseDown(object sender, MouseButtonEventArgs e)
    {
        startPoint = e.GetPosition(canvas);
    }
    private void canvas_MouseUp(object sender, MouseButtonEventArgs e)
    {
        endPoint = e.GetPosition(canvas);

        Line myLine = new Line();
        myLine.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
        myLine.X1 = startPoint.X;
        myLine.Y1 = startPoint.Y;
        myLine.X2 = endPoint.X;
        myLine.Y2 = endPoint.Y;
        myLine.HorizontalAlignment = HorizontalAlignment.Left;
        myLine.VerticalAlignment = VerticalAlignment.Center;
        myLine.StrokeThickness = 2;
        canvas.Children.Add(myLine);
    }