2010년 10월 22일 금요일

카메라 영상 위에 글자 출력하기

콜백 함수로 인해 카메라 영상이 들어오면

 

capPreview 함수를 쓸 것이 아니라 직접 영상 버퍼를 가져 오십시오...

 

그 후에

 

StretchDIBits 를 쓰던 다른 루틴을 쓰던 메모리 DC 위에 영상을 출력시킵니다.

 

        ::StretchDIBits(hMemDC,   // 메모리 DC 에 영상 출력...

            xOffset,

            yOffset,

            CAM_WIDTH,

            CAM_HEIGHT,

            0,

            0,

            lpBitmapInfo->bmiHeader.biWidth,

            lpBitmapInfo->bmiHeader.biHeight,

            lpData,                         // 영상 데이터

            lpBitmapInfo,

            DIB_RGB_COLORS,

            SRCCOPY);

 

        CString strText("Camera 01"); //출력할 글씨

 

        ::SetBkMode(hMemDC,TRANSPARENT);         //글자를 출력할 수 있도록 속성 변경

        ::SetTextColor(hMemDC,RGB(255, 255, 255));

       

        ::TextOut(hMemDC,

            rect.left + 10,

            rect.top  + 10,

            strText.GetBuffer(0),

            strText.GetLength());   // 글자 출력

 

 

        HDC hDC = ::GetDC(m_hWnd);

        ::SetStretchBltMode(hDC,HALFTONE);

        ::StretchBlt(hDC,,,hMemDC,); //메모리 DC 내용을 전면 DC 로 출력

 

이렇게 하시면 됩니다. 요지는 메모리 DC 를 이용하라는 거죠..

댓글 없음:

댓글 쓰기