C语言 如何将rgb图像数组从sws_scale转换为DIB(在内存位图中)



我正在解码来自流的视频帧,sws_scale为我提供了解码RGB图像数据(PIX_FMT_RGB24)的缓冲区。我有一个需要DIB输入的现有前端应用程序。所以我需要知道如何将这个缓冲区转换为DIB?

从我所理解的窗口上的DIB是BGR和从下到上,需要一个头。我希望这个问题已经解决了,而不是手动操作。我还想知道sws_scale是否可以本地完成

这不是你想要的答案。但是,这是我所有的。

DIB代表设备独立位图,它只是一个位图,其中有一个额外的(DIB)头,指定有关图像数据的一些信息,以便它可以被多个设备/平台理解。你可以很容易地链接到一个免费的外部库,比如DevIL来生成位图,但是我不知道有哪个库可以为你创建DIB头文件。然而,维基页面上有很多关于DIB头的信息,你自己做这件事看起来并不难,让其他库(我建议是DevIL)做图像转换。

我希望有人能想出一个很好的第三方库,它能完全满足你的要求。好运!

最新更新