HTEXTURE m_gFaceTexture = NULL;
//从DLL或内存中获取资源创建HGE文理
HTEXTURE GetUseFaceTexture()
{
if(m_gFaceTexture != NULL)return m_gFaceTexture;
HMODULE hModle = GetModuleHandle(AVATAR_CONTROL_DLL_NAME);
HRSRC hRsrc = FindResource(hModle, TEXT("USER_FACE_IMAGE"), TEXT("png"));
DWORD dwSize = SizeofResource(hModle, hRsrc);
HGLOBAL hGlobal = LoadResource(hModle, hRsrc);
//锁定资源
LPVOID pBuffer = LockResource(hGlobal);
return m_gFaceTexture= CHgeEngine::Instance()->GetHge()->Texture_Load((const char*)pBuffer,dwSize);
}
//通过自定义位图数据创建HGE文理
FACE_CX,FACE_CY 像素数据宽高
HTEXTURE GetUseCustomFace(DWORD* pChustomData)
{
HTEXTURE hTex=CHgeEngine::Instance()->GetHge()->Texture_Create(FACE_CX,FACE_CY);
DWORD *pData=CHgeEngine::Instance()->GetHge()->Texture_Lock(hTex,false);
for ( int i=0; i<FACE_H; i++ )
{
for ( int j=0; j<FACE_W; j++ )
{
pData[i*FACE_W+j]=pChustomData[i*FACE_W+j]|0XFF000000;
}
}
//pData=NULL;
CHgeEngine::Instance()->GetHge()->Texture_Unlock(hTex);
return hTex;
}
HGE从DLL内存加载资源及自定义像素数据加载
最新推荐文章于 2019-02-01 17:05:26 发布