MFC 에서 GDI + 그림 보이 기 Mat 그림

6859 단어 nullmfcbyteGDI+
인터넷 에서 찾 아 보 니 GDI + 를 사용 하 는 것 이 좋 은 방법 이 었 다.
먼저 GDI + 를 설정 하고,
레 퍼 런 스http://www.cnblogs.com/pzxbc/archive/2011/11/17/2252490.html한 걸음 한 걸음
1. Stdafx. h 헤더 파일 에 다음 코드 추가
#include <GdiPlus.h>
#pragma comment(lib, "Gdiplus.lib")

2. CGdiplusTestApp 클래스 에 GDI + 초기 화 함수 에 두 개의 변 수 를 추가 합 니 다.
private:
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;

3. CGdiplusTestApp 클래스 에서 InitInstance () 를 다시 불 러 옵 니 다. 구체 적 으로 CGdiplusTestApp 클래스 를 선택 하고 속성 을 보면 다시 불 러 옵 니 다. CGdiplusTestApp:: InitInstance () 함수 에 다음 코드 를 추가 합 니 다.
// Initialize GDI+.
Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

4. CGdiplusTestApp 의 ExitInstance () 함 수 를 다시 불 러 오고 GDI + 닫 기 함 수 를 추가 합 니 다.
Gdiplus::GdiplusShutdown(gdiplusToken);

(5) 그리고 창의 핸들 을 가 져 옵 니 다. 대화 상자 라면 참고 하 십시오.http://www.cctry.com/thread-7897-1-1.html중의 방법:
pWnd=GetDlgItem(IDC_STATIC); CDC* pDC; pDC=pWnd->GetDC();
(6) 다음은 그림 을 보 여 줍 니 다. 참고 하 세 요.http://www.cnblogs.com/pzxbc/archive/2011/11/17/2252908.html
//    
IplImage* srcImage = cvLoadImage("lena.jpg");
// Bitmap
Gdiplus::Bitmap bitmap(srcImage->width, srcImage->height, srcImage->widthStep,
PixelFormat24bppRGB, (BYTE*)srcImage->imageData);

Gdiplus::Graphics graphics(pDC->GetSafeHdc());
graphics.DrawImage(&bitmap, 0, 0);

여기 서 사용 하 는 것 은 IplImage 형식의 그림 입 니 다. 시험 에 의 하면 Mat 도 가능 합 니 다. 구체 적 인 전 삼 은 전 달 된 데이터 부분 이기 때문에 Mat 형식 이 라면 위 에서 Bitmap 대상 을 만 들 때 바 꿉 니 다.
Gdiplus:: Bitmap bitmap (rgbImage. cols, rgbImage. rows, rgbImage. cols * rgbImage. channels (), / / 줄 마다 바이트 수 PixelFormat 24bppRGB, (BYTE *) rgbImage. data);
그 중에서 rgbImage 는 이미 있 는 Mat 이미지 입 니 다.참고 로 Mat 가 16 자리 라면 imread 와 imwrite 로 읽 고 저장 하 는 것 이 좋 습 니 다.

좋은 웹페이지 즐겨찾기