【问题标题】:Draw on top of video with AxWindowsMediaPlayer使用 AxWindowsMediaPlayer 在视频上绘制
【发布时间】:2014-05-09 15:27:03
【问题描述】:

我尝试使用 WinForms AxWindowsMediaPlayer 在视频上绘制眼动追踪数据。我不使用 WPF。我尝试了一些东西,但没有任何效果。

这个画在控件上,但是当视频开始时,视频又覆盖了它:

Pen pen = new Pen(Color.Red, 2);
Brush brush = new SolidBrush(Color.Red);

Graphics g = windowsMediaPlayer.CreateGraphics();
g.DrawRectangle(pen, eyeX, eyeY, 5, 5);

g.DrawLine(pen, 0, 0, 2000, 2000);

我也尝试过透明控件,但它们也是一样的。它们被视频覆盖。

有人对此有解决方案吗?

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    您的解决方案是WindowlessVideo 属性。您需要启用它才能在视频中绘制或显示某些内容。

    windowsMediaPlayer.WindowlessVideo = true
    

    在此处阅读更多信息http://msdn.microsoft.com/en-us/library/windows/desktop/dd562473(v=vs.85).aspx

    来自上述链接的注释

    默认情况下,嵌入式 Windows Media Player 控件在客户区域内自己的窗口中呈现视频。当 windowlessVideo 设置为 true 时,Windows Media Player 对象直接在客户区呈现视频,因此您可以应用特殊效果或将视频与文本分层。 在 Windows Vista 中,以无窗口模式渲染视频会降低性能。

    【讨论】:

    • 不幸的是,当视频开始播放时,绘图被视频覆盖了。
    • 这似乎没有任何区别。
    猜你喜欢
    • 1970-01-01
    • 2013-07-20
    • 2015-01-20
    • 1970-01-01
    • 2013-10-16
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    相关资源
    最近更新 更多