我正在制作一个应用程序,允许用户应用某些工具来分析视频和图像。我需要帮助,了解如何在表单中加载到 Windows Media Player 的视频上实际绘制/写入并能够将其保存。它需要能够让用户徒手绘制并在其上绘制形状。
提前致谢,
克里斯 :)
使用 winforms 中的 wmp 控件来完成这项任务,即使不是不可能,也是不平凡的。
我不知道有什么方法可以在 wmp 上实际绘制,但您可以在覆盖在 wmp 上的透明面板上绘制。如果视频正在播放,这将不起作用,但您可以在暂停时显示绘图。我已经使用这种技术来绘制与 wmp 类似的第 3 方视频控件。(编辑 - 这似乎不适用于 wmp 控件)
然而,由于真正的透明面板在 winform 中也相当棘手,另一种方法是从视频中抓取图像并在覆盖的图像上绘制。同样,只有当它暂停时。
This http://www.datastead.com/products/tvideograbber/overview.html商业控制确实可以对视频进行绘图。它有一个事件,可以触发您可以用来绘图的每一帧。但最大的缺点是,您实际上无法做任何太花哨的事情,因为您的绘图例程需要在绘制下一帧之前完成。
我强烈鼓励您使用 WPF(即使它是 winforms 应用程序中托管的 wpf 控件)来显示您的视频。在wpf中在视频上绘图(包括播放视频)要容易得多。
EDIT
我刚刚测试了使用透明面板在 wmp 上绘图,它的行为与我的第 3 方控件的行为不同,所以我建议您在 WPF 中执行视频播放位,将其托管在您的 winforms 应用程序中 http://msdn.microsoft.com/en-us/library/system.windows.forms.integration.elementhost.aspx。 (我刚刚也使用@Callums inkcanvas 建议进行了测试,它的效果就像一个魅力)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)