C++에는 이미지를 표시하는 방법이 4가지 있습니다: 1. SDL(크로스 플랫폼), 2. Qt(크로스 플랫폼 프레임워크), 3. OpenCV(이미지 처리 및 컴퓨터 비전 라이브러리) 시스템). 선택하는 방법은 특정 상황과 애플리케이션 요구 사항에 따라 다릅니다.
C++에서 이미지를 표시하는 방법
C++에서는 여러 가지 방법으로 이미지를 표시할 수 있습니다.
1. SDL(Simple Direct Media Layer)
SDL은 크로스 플랫폼 라이브러리입니다. 다양한 플랫폼에서 이미지 표시 지원:
<code class="cpp">#include <SDL2/SDL.h> int main(int argc, char* argv[]) { SDL_Init(SDL_INIT_EVERYTHING); SDL_Surface* screen = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); SDL_Surface* image = SDL_LoadBMP("image.bmp"); SDL_BlitSurface(image, NULL, screen, NULL); SDL_UpdateWindowSurface(screen); SDL_Delay(10000); // 等待 10 秒 SDL_Quit(); }</code>
2. Qt
Qt는 QWidget 클래스를 통해 이미지를 표시할 수 있는 또 다른 크로스 플랫폼 프레임워크입니다.
<code class="cpp">#include <QApplication> #include <QLabel> #include <QPixmap> int main(int argc, char* argv[]) { QApplication app(argc, argv); QLabel label; label.setPixmap(QPixmap("image.png")); label.show(); return app.exec(); }</code>
3 OpenCV. 이미지 처리 및 컴퓨터 비전에 중점을 두고 이미지 표시 기능 제공:
<code class="cpp">#include <opencv2/opencv.hpp> int main(int argc, char* argv[]) { cv::Mat image = cv::imread("image.jpg"); cv::imshow("Image", image); cv::waitKey(0); // 等待用户输入 return 0; }</code>
4. Win32 API
Windows 시스템에서는 Win32 API를 사용하여 이미지를 표시할 수 있습니다.
<code class="cpp">#include <windows.h> int main(int argc, char* argv[]) { BITMAP bitmap; BITMAPINFO bitmapInfo; ZeroMemory(&bitmapInfo, sizeof(bitmapInfo)); bitmapInfo.bmiHeader.biSize = sizeof(bitmapInfo); bitmapInfo.bmiHeader.biWidth = 640; bitmapInfo.bmiHeader.biHeight = 480; bitmapInfo.bmiHeader.biPlanes = 1; bitmapInfo.bmiHeader.biBitCount = 32; void* bits; HDC hdc = GetDC(NULL); HBITMAP hbitmap = CreateDIBSection(hdc, &bitmapInfo, DIB_RGB_COLORS, &bits, NULL, 0); HDC hdcMem = CreateCompatibleDC(hdc); HGDIOBJ oldObj = SelectObject(hdcMem, hbitmap); HBITMAP hbitmapImage = (HBITMAP)LoadImage(NULL, "image.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); HDC hdcImage = CreateCompatibleDC(hdc); HGDIOBJ oldObjImage = SelectObject(hdcImage, hbitmapImage); BitBlt(hdcMem, 0, 0, 640, 480, hdcImage, 0, 0, SRCCOPY); SelectObject(hdcMem, oldObj); SelectObject(hdcImage, oldObjImage); DeleteObject(hbitmapImage); DeleteObject(hdcImage); DeleteDC(hdcMem); ReleaseDC(NULL, hdc); DeleteObject(hbitmap); return 0; }</code>선택할 방법은 특정 항목에 따라 다릅니다. 상황 및 신청 요구 사항.
위 내용은 C++에서 그림을 표시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!