使用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函數是自定義的用于保存位圖的函數,你可以根據自己的需求進行修改。