在Windows c++中从JPG/PNG文件创建BITMAPINFO
Create a BITMAPINFO from a JPG/PNG file in Windows C++
我在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+。
相关文章:
- 终端不会为C++文件创建.exe文件吗
- 从存储为 Windows 资源 (c++) 的 png 中获取 png 文件数据
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 如何从具有两列的.txt文件创建并行数组?
- 从 .lib 文件创建一个.dll文件
- 如何从输入文件 c++ 创建随机名称生成器
- 无法从 cso 文件创建顶点着色器(从 fx 文件创建)
- 如何为多个目录中的多个文件创建生成文件?
- 在编译时从 c++ 文件创建枚举
- 如何启用libMagick++以保存.png文件格式
- 无法在CLion(macOS)上打开带有CImg的.png文件
- 尝试使用 CPP 在一个 Qt 窗口中显示多个 png 文件
- 如何在运行时从 c++ 中的 DLL 文件创建对象?
- 文件创建并不总是成功
- 如何使用 QFile、c++ 从文件创建整数数组
- 我正在尝试SDL_DisplayFormat一个.png文件,我想,我可能缺少依赖项
- 您可以使用 makefile 从 .o 对象文件创建 C++ 文件吗?
- 使用 C++、libpng 和 OpenMP 并行创建 PNG 文件
- c++如何用已知的数据创建PNG文件
- 在Windows c++中从JPG/PNG文件创建BITMAPINFO