[Function] Dialog 창에 IplImage 출력하기
전에 어느분 블로그에서 받은 소스인데 간단하게 위치만 수정해서 사용중이다
void C프로젝트명Dlg::displayIplImage(IplImage* pimageIpl, int ww, int hh)
{
int w,h;
int nWidth= pimageIpl->width;
int nHeight = pimageIpl->height;
BYTE* pSrcBits = (BYTE*)pimageIpl->imageData;
BYTE* pBmpBits = (BYTE*)calloc(sizeof(BYTE), nWidth*nHeight*4);
CClientDC dc(this);
CDC memDC;
CBitmap newBmp, *pOldBmp;
for(h=0; h<nHeight; h++)
{
BYTE* pSrc = pSrcBits + pimageIpl->widthStep * h;
BYTE* pDst = pBmpBits + nWidth * 4 * h;
for(w=0; w<nWidth; w++)
{
*(pDst++) = *(pSrc++);
*(pDst++) = *(pSrc++);
*(pDst++) = *(pSrc++);
*(pDst++) = 0;
}
}
memDC.CreateCompatibleDC(&dc);
newBmp.CreateCompatibleBitmap(&dc, nWidth, nHeight);
newBmp.SetBitmapBits(nWidth*nHeight*4, pBmpBits);
pOldBmp = memDC.SelectObject(&newBmp);
dc.BitBlt(ww,hh,nWidth, nHeight, &memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOldBmp);
free(pBmpBits);
memDC.DeleteDC();
newBmp.DeleteObject();
}