IIMAGE绘制PNG图片太慢了 所以我采取先绘制到内存DC的方法 程序如下:
DrawMainInterfacePng(const WCHAR *FileName,const RECT* dstRect)
{
if(!SUCCEEDED(m_pImageFactory->CreateImageFromFile(FileName,&pImage)))
{
MessageBox(_T("CreateImageFromFile Error"));
}
/*if(pImage!=NULL)
{
pImage->Draw(this->GetDC()->m_hDC ,dstRect ,NULL);
}
pImage->Release();*/
HDC temp;
temp=this->GetDC()->m_hDC;
HBITMAP hBitmap;
HDC hdcMem;
HGDIOBJ hOldSel;
hBitmap = CreateCompatibleBitmap(this->GetDC()->m_hDC,480,272);
hdcMem = CreateCompatibleDC(this->GetDC()->m_hDC);
hOldSel = SelectObject(hdcMem,hBitmap);
pImage->Draw(hdcMem,dstRect,NULL);
StretchBlt(temp,
0,
0,
480,
272,
hdcMem,
0,
0,
480,
272,
SRCCOPY);
但是图像一闪就变黑色了 不知道怎么回事情,我这个代码是在ONPAIN里面写的 请各位大侠 帮忙,分数不多 请见谅!
------解决方案--------------------
hdcMem里面没有绘制任何东西 内存没有使用 肯定是黑色的