在Windows c++中从JPG/PNG文件创建BITMAPINFO

Create a BITMAPINFO from a JPG/PNG file in Windows C++

本文关键字:PNG 文件创建 BITMAPINFO JPG Windows c++ 中从      更新时间:2023-10-16

我在API中有一个函数,我正在使用请求BITMAPINFO指针。我要给这个函数一个图像。我的图片是JPG/png。假设我将它们转换为BMP文件,我仍然不知道如何设置这个结构体。有一个我可以使用的windows API吗?

您可以使用GDI+。
读取BMP/JPG/PNG/GIF使用Gdiplus::Bitmap::FromFile加载和Gdiplus::Bitmap::GetHBITMAP访问HBITMAP,然后BITMAPINFO

谷歌一下就能找到这篇MSDN文章:调整JPEG或PNG图像的大小,这篇文章展示了一种填充JPEG文件BITMAPINFO的方法(也适用于PNG)。

使用该页左侧的链接获取有关位图API的更多信息

png具有潜在的alpha通道/透明度信息-在转换为位图时丢失。需要BITMAPINFO的函数实际做什么?

如果你的方法是将文件转换为位图;不要在运行时这样做。使用绘图程序将文件转换为bmp.

如前所述,您可以使用GDI+来利用几种不同的本机格式;但这样做可能需要将现有的GDI调用转换为GDI+。