在C++中,可以使用Windows GDI(Graphics Device Interface)庫中的LoadImage
函數(shù)來加載和處理圖像
windows.h
頭文件。#include<windows.h>
LoadImage
函數(shù)從文件或資源中加載圖像。例如,加載一個位圖(.bmp
)圖像:HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, L"image_path.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
HDC
),并選擇已加載的圖像到該設(shè)備上下文中:HDC hdcMem = CreateCompatibleDC(NULL);
HBITMAP hOldBitmap = (HBITMAP)SelectObject(hdcMem, hBitmap);
HDC hdcWindow = GetDC(hwnd); // hwnd是你要繪制到的窗口句柄
BitBlt(hdcWindow, 0, 0, bitmapWidth, bitmapHeight, hdcMem, 0, 0, SRCCOPY);
SelectObject(hdcMem, hOldBitmap);
DeleteDC(hdcMem);
DeleteObject(hBitmap);
gdiplus.h
頭文件,并鏈接到gdiplus.lib
庫。#include <gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
Gdiplus::Bitmap
對象:Gdiplus::Bitmap *bitmap = new Gdiplus::Bitmap(hBitmap, NULL);
Gdiplus::Bitmap
對象保存為其他格式,例如保存為.png
格式:CLSID pngClsid;
GetEncoderClsid(L"image/png", &pngClsid);
bitmap->Save(L"output_image.png", &pngClsid, NULL);
delete bitmap;
Gdiplus::GdiplusShutdown(gdiplusToken);
這些示例展示了如何在C++中結(jié)合LoadImage
函數(shù)進(jìn)行圖像轉(zhuǎn)換。請根據(jù)你的需求調(diào)整代碼。