c语言装载图片,CImage从资源中加载图片文件

本文介绍如何在C++中利用CImage类从工程资源中加载jpg、gif、png等图片文件。通过调用LoadImageFromResource函数,结合FindResource、LoadResource和CreateStreamOnHGlobal等API实现图片的加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CImage从资源中加载图片文件

CImage直接加载图片文件倒是好办,直接用Load函数就可以,但是如何从工程资源中添加jpg、gif、png等图片呢?用下面这个函数BOOL CDDCDlg::LoadImageFromResource(ATL::CImage *pImage, UINT nResID,LPCTSTR lpTyp)

BOOL CDDCDlg::LoadImageFromResource(ATL::CImage *pImage, UINT nResID,LPCTSTR lpTyp, HMODULE hModule)

{

if ( pImage == NULL) return false;

pImage->Destroy();

// 查找资源

HRSRC hRsrc = ::FindResource(/*AfxGetResourceHandle()*/ hModule, MAKEINTRESOURCE(nResID), lpTyp);

if (hRsrc == NULL) return false;

// 加载资源

HGLOBAL hImgData = ::LoadResource(/*AfxGetResourceHandle()*/ hModule, hRsrc);

if (hImgData == NULL)

{

::FreeResource(hImgData);

return false;

}

// 锁定内存中的指定资源

LPVOID lpVoid = ::LockResource(hImgData);

LPSTREAM pStream = NULL;

DWORD dwSize =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值