【发布时间】:2012-02-02 10:54:12
【问题描述】:
我在 C 中有一个缓冲区(BGR 像素数据的 uint8[]),用于保存视频帧。 C 代码将指向此缓冲区的指针作为 IntPtr 传递回 C# 代码。我需要为每一帧添加一个文本覆盖,然后将指针传递给该帧以进行进一步处理。我相信我需要做的(在 C# 中)是将每一帧复制到一个位图对象,获取位图的设备上下文,然后使用 TextOut(等)将文本写入位图。然后我会将修改后的位图帧数据复制回我的原始数组。
我的问题有两个:
- 这是最好的方法吗?
- 将数据从 IntPtr 复制到位图对象的最佳(最快)方法是什么。
谢谢。
【问题讨论】:
-
我宁愿在 C++/CLI 中创建一个类并在我的 C# 代码中使用它,而不是玩弄 DllImports!如果你有兴趣,请看这个stackoverflow.com/questions/2211867/…