从 Win32 项目中的 *.bmp 文件加载 HBITMAP
Posted
技术标签:
【中文标题】从 Win32 项目中的 *.bmp 文件加载 HBITMAP【英文标题】:Load HBITMAP from *.bmp file in Win32 project 【发布时间】:2013-01-15 12:41:54 【问题描述】:是否可以仅使用 WINAPI 函数将 *.bmp 文件加载到 Win32 项目中的 HBITMAP 中?
【问题讨论】:
【参考方案1】:是的,可以只使用标准的 win32 库。
HBITMAP hBMP = (HBITMAP) LoadImage( NULL, "Your/ImagePath/a.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
hBMP
是BITMAP
的句柄,您可以随意使用。
注意:传递 NULL 作为第一个参数很重要,来自文档:
hinst [输入,可选]
加载独立资源(图标、光标或位图文件)——用于 例如,c:\myimage.bmp——将此参数设置为 NULL。
来自msdn documentation for LoadImage
。
【讨论】:
这是一个外部库。 呃,我猜外部是指第三方库。会编辑。由于它是一个 Win32 项目,它已经使用了 Winapi。感谢您的回答! @Zoidberg Win32 项目中的标准库是什么? :S 只是一个更正,hInst 需要为 NULL 才能从文件加载。我刚刚在文档中阅读了它。 要加载独立资源(图标、光标或位图文件),例如 c:\myimage.bmp,请将此参数设置为 NULL。【参考方案2】:是的,您可以使用 OleLoadPictureFromPath 或其他任何名称。核实。文档对于支持的格式可能仍然不一致和错误,但在现代 Windows 中也支持 JPEG 和 PNG。
【讨论】:
以上是关于从 Win32 项目中的 *.bmp 文件加载 HBITMAP的主要内容,如果未能解决你的问题,请参考以下文章