gpt4 book ai didi

c# - C 缓冲区到 C# 位图对象

转载 作者:行者123 更新时间:2023-11-30 21:09:16 24 4
gpt4 key购买 nike

我在 C 中有一个缓冲区(BGR 像素数据的 uint8[]),用于保存视频帧。 C 代码将指向此缓冲区的指针作为 IntPtr 传递回 C# 代码。我需要为每一帧添加一个文本覆盖,然后传递一个指向该帧的指针以进行进一步处理。我相信我需要做的(在 C# 中)是将每个帧复制到位图对象,获取位图的设备上下文,然后使用 TextOut(等)将文本写入位图。然后我会将修改后的位图帧数据复制回我的原始数组。

我的问题有两个:

  1. 这是最好的方法吗?
  2. 将数据从我的 IntPtr 复制到位图对象的最佳(最快)方法是什么。

谢谢。

最佳答案

最快的方法是不复制数据。这要求您的数据采用受支持的像素格式,BGR 听起来有点可怕,但可能性很高,它实际上是 PixelFormat.Format24bppRgb。

然后允许您使用 Bitmap(int, int, int, PixelFormat, IntPtr constructor) .

关于c# - C 缓冲区到 C# 位图对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9111082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com