使用StretchBlt函數(shù)可以調(diào)整位圖圖像的大小。以下是使用StretchBlt函數(shù)的步驟:
HDC hdcSrc = CreateCompatibleDC(NULL); // 創(chuàng)建源位圖的設(shè)備上下文句柄
HDC hdcDest = CreateCompatibleDC(NULL); // 創(chuàng)建目標(biāo)位圖的設(shè)備上下文句柄
HBITMAP hBitmapSrc = (HBITMAP)LoadImage(NULL, "source.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); // 加載源位圖
HBITMAP hBitmapDest = CreateCompatibleBitmap(hdcSrc, newWidth, newHeight); // 創(chuàng)建目標(biāo)位圖
SelectObject(hdcSrc, hBitmapSrc); // 將源位圖選入源設(shè)備上下文
SelectObject(hdcDest, hBitmapDest); // 將目標(biāo)位圖選入目標(biāo)設(shè)備上下文
StretchBlt(hdcDest, 0, 0, newWidth, newHeight, hdcSrc, 0, 0, oldWidth, oldHeight, SRCCOPY);
SaveBitmap("destination.bmp", hBitmapDest);
DeleteObject(hBitmapSrc); // 刪除源位圖
DeleteObject(hBitmapDest); // 刪除目標(biāo)位圖
DeleteDC(hdcSrc); // 刪除源設(shè)備上下文
DeleteDC(hdcDest); // 刪除目標(biāo)設(shè)備上下文
請(qǐng)注意,上述代碼中的"source.bmp"是源位圖的文件名,newWidth和newHeight是目標(biāo)位圖的寬度和高度,oldWidth和oldHeight是源位圖的寬度和高度。SaveBitmap函數(shù)是自定義的用于保存位圖的函數(shù),你可以根據(jù)自己的需求進(jìn)行修改。