使用StretchBlt函数可以调整位图图像的大小。以下是使用StretchBlt函数的步骤:
HDC hdcSrc = CreateCompatibleDC(NULL); // 创建源位图的设备上下文句柄
HDC hdcDest = CreateCompatibleDC(NULL); // 创建目标位图的设备上下文句柄
HBITMAP hBitmapSrc = (HBITMAP)LoadImage(NULL, "source.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); // 加载源位图
HBITMAP hBitmapDest = CreateCompatibleBitmap(hdcSrc, newWidth, newHeight); // 创建目标位图
SelectObject(hdcSrc, hBitmapSrc); // 将源位图选入源设备上下文
SelectObject(hdcDest, hBitmapDest); // 将目标位图选入目标设备上下文
StretchBlt(hdcDest, 0, 0, newWidth, newHeight, hdcSrc, 0, 0, oldWidth, oldHeight, SRCCOPY);
SaveBitmap("destination.bmp", hBitmapDest);
DeleteObject(hBitmapSrc); // 删除源位图
DeleteObject(hBitmapDest); // 删除目标位图
DeleteDC(hdcSrc); // 删除源设备上下文
DeleteDC(hdcDest); // 删除目标设备上下文
请注意,上述代码中的"source.bmp"是源位图的文件名,newWidth和newHeight是目标位图的宽度和高度,oldWidth和oldHeight是源位图的宽度和高度。SaveBitmap函数是自定义的用于保存位图的函数,你可以根据自己的需求进行修改。