MFC 图片大小调整:根据分辨率缩放图片
在 MFC 中,可以使用 CImage 类来调整图片的大小。以下是一个示例代码,演示如何根据分辨率调整图片的大小:
CImage image;
image.Load(_T("image.jpg")); // 加载图片
int newWidth = 800; // 新宽度
int newHeight = 600; // 新高度
CImage resizedImage;
resizedImage.Create(newWidth, newHeight, image.GetBPP()); // 创建一个新的图片对象
CDC* pDC = CDC::FromHandle(resizedImage.GetDC());
CDC* pSrcDC = CDC::FromHandle(image.GetDC());
pDC->SetStretchBltMode(HALFTONE);
pDC->StretchBlt(0, 0, newWidth, newHeight, pSrcDC, 0, 0, image.GetWidth(), image.GetHeight(), SRCCOPY); // 使用StretchBlt函数进行图片缩放
resizedImage.ReleaseDC();
image.ReleaseDC();
resizedImage.Save(_T("resized_image.jpg")); // 保存调整后的图片
以上代码首先加载原始图片,然后创建一个新的图片对象(resizedImage),并设置其宽度和高度为新的分辨率。接下来,通过获取原始图片和新图片的 DC(设备上下文),使用 StretchBlt 函数进行图片缩放。最后,保存调整后的图片。请注意,这里使用了 HALFTONE 模式来保持图片质量。
原文地址: https://www.cveoy.top/t/topic/pgKA 著作权归作者所有。请勿转载和采集!