|
CCD영상도 잘 나오고 있고 OverLay로 영상 위에 원하는 도형까지 잘 그려는 지는데
MbufClear(m_MilOverlayImage, TransparentColor);
를 하여도 그렸던 도형이 색만 검정색으로 바뀌고 영상위에 그대로 남아있습니다.
어떤 부분을 확인해 봐야 될까요?
Mil 초기화 부분
//---------------------------------------------------------------------------
MappAlloc(M_DEFAULT, &m_MilApplication);
MsysAlloc(M_DEF_SYSTEM_TYPE, M_DEF_SYSTEM_NUM, M_SETUP, &m_MilSystem);
MdispAlloc(m_MilSystem, M_DEF_DISPLAY_NUM, M_DEF_DISPLAY_FORMAT, M_WINDOWED, &m_MilDisplay);
if (MsysInquire(m_MilSystem, M_DIGITIZER_NUM, M_NULL) > 0){
MdigAlloc(m_MilSystem, M_DEV0, "NTSC.dcf", M_DEFAULT, &m_MilDigitizer);
MdigInquire(m_MilDigitizer, M_SIZE_X, &BufSizeX);
MdigInquire(m_MilDigitizer, M_SIZE_Y, &BufSizeY);
MdigInquire(m_MilDigitizer, M_SIZE_BAND, &BufSizeBand);
}
else {
m_MilDigitizer = M_NULL;
BufSizeX = 640;
BufSizeY = 480;
BufSizeBand = 1;
}
MbufAllocColor(m_MilSystem, BufSizeBand, 640, 480, M_DEF_IMAGE_TYPE,
(M_IMAGE+M_DISP+M_GRAB+M_PROC), &m_MilImage);
MbufClear(m_MilImage,0);
//---------------------------------------------------------------------------
Overlay 셋팅 부분
//---------------------------------------------------------------------------
MdispControl(m_MilDisplay, M_WINDOW_OVR_SHOW, M_DISABLE);
MdispControl(m_MilDisplay, M_WINDOW_OVR_WRITE, M_ENABLE);
MdispInquire(m_MilDisplay, M_WINDOW_OVR_BUF_ID, &m_MilOverlayImage);
MdispInquire(m_MilDisplay, M_KEY_COLOR, &TransparentColor);
MbufClear(m_MilOverlayImage, TransparentColor);
MdispControl(m_MilDisplay, M_WINDOW_OVR_SHOW, M_ENABLE);
MgraControl(M_DEFAULT, M_BACKGROUND_MODE, M_TRANSPARENT);
//---------------------------------------------------------------------------
영상 처리
//---------------------------------------------------------------------------
if (m_MilDigitizer){
MdigGrabContinuous(m_MilDigitizer, m_MilImage);
}
//---------------------------------------------------------------------------
직선 그리는 부분
//---------------------------------------------------------------------------
MgraColor(M_DEFAULT, M_RGB888(255, 0, 0));
MgraLine(M_DEFAULT, m_MilOverlayImage, vGeomPtOld.x, vGeomPtOld.y, vGeomPt.x, vGeomPt.y );
//---------------------------------------------------------------------------
지워주는 부분
//---------------------------------------------------------------------------
MbufClear(m_MilOverlayImage, TransparentColor);
//---------------------------------------------------------------------------
|