c# - 在 C# 中绘制视频

标签 c# image video drawing shapes

我正在制作一个应用程序,允许用户应用某些工具来分析视频和图像。我需要帮助我如何在我的表单中加载到 Windows Media Player 的视频上实际绘制/写入并能够将其保存。它需要能够让用户在其上徒手绘制和绘制形状。 提前致谢,

克里斯:)

最佳答案

使用 winforms 中的 wmp 控件,这是一项非常重要的任务,即使不是不可能完成的任务。

我不知道有什么方法可以实际在 wmp 上绘图,但您可以在覆盖在 wmp 上的透明面板上绘图。如果视频正在播放,这将不起作用,但您可以在暂停时显示绘图。我已经使用这种技术来绘制类似于 wmp 的第 3 方视频控件。(编辑 - 这似乎不适用于 wmp 控件)

然而,由于真正的透明面板在 winforms 中也相当棘手,另一种方法是从视频中抓取图像并在叠加图像上绘制。同样,仅当它暂停时。

This商业控制确实可以在视频上绘制。它有一个事件可以触发您可以用来进行绘图的每一帧。不过,最大的缺点是您不能真正做任何太花哨的事情,因为您的绘图例程需要在绘制下一帧之前完成。

我强烈建议您使用 WPF(即使它是托管在 winforms 应用程序中的 wpf 控件)来显示您的视频。在 wpf 中绘制视频(包括播放视频)要容易得多。

编辑

我刚刚测试了使用透明面板在 wmp 上绘制,它的行为不像我的第 3 方控件那样,所以我建议你在 WPF 和 host that in your winforms app 中执行视频播放位. (我刚刚也使用@Callums inkcanvas 的建议对其进行了测试,效果非常好)

关于c# - 在 C# 中绘制视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3752016/

相关文章:

c# - 在 C# 中使用 Translate Transform 顺时针和逆时针旋转图像

javascript - 视频播放器中的视频播放完毕后需要执行操作

video - HTML5 视频源 URL 会遵循 header 重定向吗?

c# - Identityserver 4 和 Ocelot

c# - 我的ftp代码有什么问题?

java - 使用java编辑svg或psd

c# - UI无法更新foreach循环C#WPF中首先播放的声音

android - 即使匹配视频大小和预览大小纵横比,MediaRecorder 也会失败

c# - 使用 List<T> 的 Linq 查询

c# - NullReferenceException 包含 LINQ 表达式 MVC3