使用GDI+来缩放图片

前提:

获得相应的图片资源

在WM_PAINT中获得窗口DC

不要忘记使用完后释放

CImage image(fileName); PAINTSTRUCT ps; HDC hdc = BeginPaint(hwndDlg, &ps); ... // 将绘制的代码放在这里 EndPaint(hwndDlg, &ps);

使用普通GDI来缩放图片的方式:

image.StretchBlt(hdc, destRect.left, destRect.top, destRect.Width(), destRect.Height(), SRCCOPY); 

使用GDI+来缩放图片

Gdiplus::Bitmap bmpSrc(image.GetWidth(), image.GetHeight(), image.GetPitch(), PixelFormat24bppRGB, static_cast(image.GetBits())); Gdiplus::Graphics graphDst(hdc); graphDst.SetInterpolationMode(Gdiplus::InterpolationModeDefault); graphDst.DrawImage(&bmpSrc, Gdiplus::RectF(destRect.left, destRect.top, destRect.Width(), destRect.Height()), 0, 0, image.GetWidth(), image.GetHeight(), Gdiplus::UnitPixel);  

你可能感兴趣的:(使用GDI+来缩放图片)