读书人

解决IIMAGE绘制慢的有关问题

发布时间: 2012-05-04 12:36:09 作者: rapoo

解决IIMAGE绘制慢的问题
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里面没有绘制任何东西 内存没有使用 肯定是黑色的

读书人网 >WinCE

热点推荐