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

时间:2011-04-17 14:25:29

标签: c++ windows image bitmap

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

快速谷歌出现了这篇MSDN文章:Sizing a JPEG or PNG Image,它显示了为JPEG文件填充BITMAPINFO的一种方法(适用于PNG)。

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

答案 2 :(得分:0)

PNG可能具有AlphaChannel /透明度信息 - 在转换为位图时会丢失。你的功能需要BITMAPINFO实际上做什么?

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

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