当前位置: 代码迷 >> WinCE >> 解决IIMAGE绘制慢的有关问题
  详细解决方案

解决IIMAGE绘制慢的有关问题

热度:4   发布时间:2016-04-28 13:06:56.0
解决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里面没有绘制任何东西 内存没有使用 肯定是黑色的