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 를 이용하라는 거죠..
댓글 없음:
댓글 쓰기