MFC编程:根据ID读取png,保存在一个Image对象中。

使用CImage类的LoadFromResource方法。#包括

方法原型:

void LoadFromResource(

HINSTANCE hInstance,

UINT nIDResource

)throw();

用法:

CImage图像;

形象。LoadFromResource(hInstance,NID resource);

描述:

// hInstance是资源模块的句柄。如果图像资源在此项目中,则为空。如果是在其他模块中,比如DLL,就需要传入LoadLibrary的返回值。

// nIDResource是png的ID。

回复楼主补充:你说的图像是MFC里的吗?好像是C#的。

我看了Image类的代码,就是不支持从资源加载。让我们使用CImage。您的代码可以更改为:

HDC HDC temp = GetDC()-& gt;m _ hDC

m _ hdc memory = CreateCompatibleDC(hdc temp);

hbit map hbit map = CreateCompatibleBitmap(hdc temp,250,260);

SelectObject(m_hdcMemory,hbit map);

//使用GDI+加载PNG图片。

HDC HDC screen =::GetDC(m _ hWnd);

RECT RCT;

GetWindowRect(& amp;RCT);

POINT ptWinPos={rct.left,RCT . top };

graphics graph(m _ hdc memory);//GDI+中的类

CImage图像;

//mage image(L"bk.png ",TRUE);//GDI+中的类

形象。LoadFromResource(NULL,IDB _ BK);

//图形。draw image(& amp;图像,0,0,250,260);

形象。Draw(hdcScreen,0,0,250,260);