在WinAPI中加载jpg文件

3

我想加载一个jpg文件。我尝试使用LoadImage函数,但是如果我的图片不是bmp格式,它会返回NULL。我应该怎么办?这是我的代码:

hBitmap =(HBITMAP)LoadImage(0, L"D:\\1.jpg", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE).
3个回答

4
你可以看一下WIC。 Windows Imaging Component (WIC) API使应用程序可以处理所有常见的图像格式。它允许开发人员不必了解他们使用的图像格式的复杂细节。WIC内置支持流行的格式,如JPEG、PNG、TIFF和GIF,以及可扩展性模型,使得开发人员可以创建自己的WIC解码器和编码器(CODEC),并获得平台级别的支持其图像格式。WIC可在Windows XP(SP2及更高版本)、Windows Vista、Windows Server和Windows 7上使用。

WIC API非常复杂、晦涩难懂。这是微软的一项伟大杰作……我想知道是否真有人在使用它…… - user8849929

2
使用GDI+,它有一个JPEG解码器。通过 #include <gdiplus.h> 和一个简单的教程来启动它,并了解如何正确使用Image类和GdiplusStartup。请注意保留HTML标签。

1

如果你想支持非常老的东西(如Win9x等),IPicture / OleLoadPicture 是您最好的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接