*먼저 이미지 출력 버튼 클릭시 ipl에 이미지를 저장한다.

  (m_pImage가 IplImage)


void Ccv_mfctestDlg::OnBnClickedButtImage()
{
	// TODO: Add your control notification handler code here
	if (m_pImage != NULL) {
		cvReleaseImage(&m_pImage);
	}

	m_pImage = cvLoadImage("c:\\umm.jpg", -1);

	Invalidate(FALSE);
}

 

 

 

 

 

*윈도우 종료시 ipl을 소멸시킨다.


BOOL Ccv_mfctestDlg::DestroyWindow()
{
	// TODO: Add your specialized code here and/or call the base class
	if (m_pImage != NULL) 
		cvReleaseImage(&m_pImage);

	return CDialogEx::DestroyWindow();
}
 

 

 

 

 

 *OnPaint 함수에서 ipl에 저장된 이미지를 Cvvimage에 카피하여 출력한다.

  (m_stDisplay는 CStatic, m_cImage가 CvvImage)


	else
	{
		if (m_pImage)
		{
			// main Image
			CRect rect;
			CDC* pDC;

			pDC = m_stDisplay.GetDC();
			m_stDisplay.GetClientRect(&rect);

			m_cImage.CopyOf(m_pImage);
			m_cImage.DrawToHDC(pDC->m_hDC, &rect);

			ReleaseDC(pDC);
		}

		CDialogEx::OnPaint();
	}
}
 

 

+ Recent posts