Study/OpenCV OpenCV 영상출력하기 코딩하는 야구쟁이 2011. 10. 12. 10:48 void CMulti_20063703View::OnInitialUpdate() // View의 초기화 작업을 수행하는 부분 { // 영상을 출력하기 전에 크기에 맞게 조정 // View에서 Doc의 data 얻기 위한 것, m_cvvImage 는 Doc 의 변수 CMulti_20063703Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CScrollView::OnInitialUpdate(); CSize sizeTotal; // m_cvvImage 는 Doc 의 변수, // m_cvvImage.GetImage( )는 영상 존재하지 않으면 FALSE if( pDoc->m_cvvImage.GetImage() ) { int height = pDoc->m_cvvImage.Height(); int width = pDoc->m_cvvImage.Width(); sizeTotal = CSize(width, height); // 영상 크기 } else { sizeTotal.cx = sizeTotal.cy = 100; } SetScrollSizes(MM_TEXT, sizeTotal); ResizeParentToFit(TRUE); } void CMulti_20063703View::OnDraw(CDC* pDC) { CMulti_20063703Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if( pDoc->m_cvvImage.GetImage() ) { int height = pDoc->m_cvvImage.Height(); int width = pDoc->m_cvvImage.Width(); CRect rect = CRect(0, 0, width, height); // 영상을 dc 핸들이 지정하는창의 rect 영역에 출력 pDoc->m_cvvImage.DrawToHDC( pDC->GetSafeHdc(), &rect ); // 창 크기에 맞춘다. ResizeParentToFit(FALSE); // 스크롤 지원 시 FALSE 대신 TRUE 를 쓴다. // ResizeParentToFit(TRUE); } }