最近在做png贴图,总结一些经验,以供大家参考,且自己日后查看:由于代码是十年前老代码,所有的图片都是bmp图片,最近更换成2560*1440分辨率,竟然高达几百兆,SE提出使用png替换bmp,代码框架都是基于GDI的,基本都是bmp贴图,如果全部改,工作量相当之大,现在产品经理又提出,UI反应以前框架是文字直接是图片上的,现在要做多语言处理,极其不方便,也要改软件实现,我内心那叫一个崩溃。先上一个之前代码中GDI贴图代码:
CRect Rect;
BITMAP bm;
GetClientRect(&Rect);
VERIFY(m_bmpBK.GetObject(sizeof(BITMAP),&bm));
CDC MemDC;
MemDC.CreateCompatibleDC(NULL);
CBitmap *pOldBitmap = MemDC.SelectObject(&m_bmpBK);
pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBitmap);
这个代码与PNG完全八杆子打不着,那我要怎末实现PNG贴图呢,再上一个PNG贴图的代码:
Graphics graphics( pDC->m_hDC);
Image image(L"walkman.png", FALSE);
grap