mfc中一个70*60的bmp图如何略缩为40*40的bmp图,单位为像素
时间: 2023-03-27 17:04:05 浏览: 101
mfc下实现缩略图
5星 · 资源好评率100%
您可以使用缩放函数来将70*60的bmp图缩小为40*40的bmp图。您可以使用GDI+库中的Image类来实现这个功能。以下是一个示例代码:
```c++
#include <windows.h>
#include <gdiplus.h>
using namespace Gdiplus;
void ResizeImage(const WCHAR* inputFileName, const WCHAR* outputFileName, int width, int height)
{
// 初始化GDI+库
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
// 加载原始图像
Bitmap* pBitmap = new Bitmap(inputFileName);
// 创建缩略图
Bitmap* pThumbnail = new Bitmap(width, height, PixelFormat24bppRGB);
Graphics* pGraphics = Graphics::FromImage(pThumbnail);
pGraphics->SetInterpolationMode(InterpolationModeHighQualityBicubic);
pGraphics->DrawImage(pBitmap, , , width, height);
// 保存缩略图
CLSID clsid;
GetEncoderClsid(L"image/bmp", &clsid);
pThumbnail->Save(outputFileName, &clsid, NULL);
// 释放资源
delete pBitmap;
delete pThumbnail;
delete pGraphics;
// 关闭GDI+库
GdiplusShutdown(gdiplusToken);
}
int main()
{
ResizeImage(L"input.bmp", L"output.bmp", 40, 40);
return ;
}
```
阅读全文