C++怎么加载一张jpg图片并且把它作为对话框的背景,求大神帮忙呀。。。谢谢

如题所述

在win32 C++中,默认只支持位图。而其他的高级图片,例如png或者jpeg
都需要自己先找一个解码器,解码器先负责将png,jpeg什么的转化成 bmp

bmp的格式非常好解析,简单的数据头,后面就是 RGB数据了

可以使用 GDI 或者 GDI+ 或者 DirectX 2D来渲染图片。后着比前两者速度都快得多。

MFC中,默认是在OnPaint函数中进行处理。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-18
codeproject上下载一个cximage,然后直接使用就可以了,注意编译要跟自己的项目一致
m_pImage = new CxImage
m_pImage->LoadResource(FindResource(NULL,MAKEINTRESOURCE(img_face),pType), CXIMAGE_FORMAT_PNG)
m_pimage->Draw(hDC,rect)
我这里加载的是png图CXIMAGE_FORMAT_PNG,jpg一样追问

不太懂,我的C++基础部太好。下载一个cximage是什么意思

追答

cximage就是一个可以解析png,jpg等等各种格式图片,就是yangyu125说的解码器。因为windows 默认只支持位图的,好像IPicrute接口,COM,也能操作jpg,但是你c++基础不太好。还是建议你用cximage,把代码下载下来编译一下,看看怎么用就可以了。

第2个回答  2013-09-18
实用MFC框架写的么?
相似回答