szPath为图片的绝对路径
void DrawImageEx(CDC* pDC, CRect& rect, LPCTSTR szPath)
{
Graphics gc(pDC->GetSafeHdc());
ImageAttributes ImgAtt;
ImgAtt.SetWrapMode(WrapModeTileFlipXY);
Image image(szPath, FALSE);
double nImageWidth = image.GetWidth();
double nImageHeight = image.GetHeight();
double nWidth = 0.0, nHeight = 0.0;
double fDeltaX = rect.Width() / nImageWidth;
double fDeltaY = rect.Height() / nImageHeight;
if(fDeltaX > fDeltaY){
nWidth =nImageWidth * fDeltaY;
nHeight = nImageHeight * fDeltaY;
}else{
nWidth = nImageWidth * fDeltaX;
nHeight = nImageHeight * fDeltaX;
}
Rect rtImage;
rtImage.X = rect.left+(rect.Width()/2-nWidth/2);
rtImage.Y = rect.top+(rect.Height()/2-nHeight/2);
rtImage.Width = nWidth;
rtImage.Height = nHeight;
gc.DrawImage(&image, rtImage,0,0,image.GetWidth(),image.GetHeight(),UnitPixel,&ImgAtt);
}