개발은 하는건가..

[MFC] VC++ 이미지 Raw 데이터를 Bitmap 으로 사용하기 본문

C, C++, MFC

[MFC] VC++ 이미지 Raw 데이터를 Bitmap 으로 사용하기

수동애비 2018. 10. 31. 16:25
반응형

 

**** Raw image Data를 DC에 사용할 수 있게 가공

// 비트맵 정보 객체 생성 및 초기값 설정  (가로 / 세로 / colordepth)
PBITMAPINFO pBmp = new BITMAPINFO;

pBmp->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
pBmp->bmiHeader.biWidth = width;
pBmp->bmiHeader.biHeight = height; 
pBmp->bmiHeader.biPlanes = 1;
pBmp->bmiHeader.biBitCount =m_bInfo.bmiHeader.biBitCount;
pBmp->bmiHeader.biCompression = BI_RGB;
pBmp->bmiHeader.biSizeImage = 0;
pBmp->bmiHeader.biXPelsPerMeter = 0;
pBmp->bmiHeader.biYPelsPerMeter = 0;
pBmp->bmiHeader.biClrUsed = 0;
pBmp->bmiHeader.biClrImportant = 0;


// bitmap 핸들 선언
HBITMAP hBmp

// CreateDIBitmap 으로 비트맵 생성
hbmp = CreateDIBitmap(pdcDest->GetSafeHdc(), // 사용될 대상 DC와 호환되는 DC의 핸들
   &pBmp->bmiHeader,  // 비트맵 정보 설정된 객체 헤더
   CBM_INIT,   // 초기화.. 그냥 이걸로 통용됨
   pBits,    // 이미지 Raw 데이터 포인터
   pBmp,    // 비트맵정보객체 
   DIB_RGB_COLORS  // RGB 컬러인지 PAL 컬러인지...
   );


// SelectObject로 해당 DC에 이미지 데이터 그리기
HBITMAP m_hbmOld;  //그려질 대상 DC의 복구를 위해서 SelectObject가 리턴한 현재 bitmap핸들 저장
m_hbmOld = (HBITMAP)::SelectObject(pMemDC->GetSafeHdc(),  // 그려질 대상 DC 핸들
      hbmp      // 위에서 생성한 비트맵 
      );


// 이제 pMemDC로 이미지 함수 사용...

'C, C++, MFC' 카테고리의 다른 글

16Bit Bitmap 에서 RGB 추출  (0) 2018.10.31
VC++ 알파블렌딩 함수 예제  (0) 2018.10.31
C언어 빠른 Swap 매크로  (0) 2018.10.31
C언어 지정된 주소로 점프  (0) 2018.10.31
C언어 매크로 팁 모음  (0) 2018.10.31
Comments