mrDarker
2025-07-15 1e1fbe300ba2b22246c6743147087d10cf6c9798
EdgeInspector_App/View/ViewMain_ScanImage.cpp
@@ -1159,8 +1159,9 @@
void CViewMain_ScanImage::SaveFullImageAll()
{
   if(m_pGlassData == NULL || m_IV2M == NULL)
   if (m_pGlassData == NULL || m_IV2M == NULL) {
      return;
   }
   int            iView;
   CPoint         ptStart;
@@ -1170,7 +1171,7 @@
   int            iSide;
   int            nTotalLength = 0;
   int            nFrame = 0;
   CGlassRecipe *pGlassRcp = m_pGlassData->GetGlassRecipe();
   CGlassRecipe    *pGlassRcp = m_pGlassData->GetGlassRecipe();
#if OFFLINE_KEY == 1
   if (NULL == pGlassRcp) return;
@@ -1179,81 +1180,72 @@
   CString         strRcpName = pGlassRcp->GetRecipeName();
   CString         strGlassID = g_pBase->m_strHPanelID;
   if(strGlassID.IsEmpty() == TRUE)
   {
   if(strGlassID.IsEmpty() == TRUE) {
      strGlassID = _T("Manual_ID");
   }
   if(strRcpName.IsEmpty() == TRUE)
   {
   if(strRcpName.IsEmpty() == TRUE) {
      strRcpName = _T("TestRcp");
   }
   strGlassID.Trim(_T(' '));
   CTime   time = CTime::GetCurrentTime();
   CString         strDate,strTime;
   CString   strDate, strTime;
   strDate.Format(_T("%04d%02d%02d"),time.GetYear(),time.GetMonth(),time.GetDay());
   strTime.Format(_T("%02d%02d%02d"),time.GetHour(),time.GetMinute(),time.GetSecond());
   for(iView=0;iView<MAX_DIMENSION_COUNT;iView++)
   {
   for(iView=0;iView<MAX_DIMENSION_COUNT;iView++) {
      iSide  = GetSideIdx(iView);      
      int         iCam = m_pHardware->GetCameraIndexToDimension((DimensionDir)iSide);
      int         iScan = m_pHardware->GetScanToDimension((DimensionDir)iSide);
      int   iCam = m_pHardware->GetCameraIndexToDimension((DimensionDir)iSide);
      int   iScan = m_pHardware->GetScanToDimension((DimensionDir)iSide);
      CCameraSettings *pCamera = m_pHardware->GetCameraSettings(iCam,iScan);
      if(pCamera == NULL)
      if (pCamera == NULL) {
         return;
      }
      nTotalLength = (pCamera->m_nGrabFrameCount-1)*pCamera->m_FrameSize.cy;
      //nFrame = nTotalLength/nOneFrameSize;
      ptStart.x = 0;
      ptStart.y =  max(0,0);
      ptStart.y = max(0,0);
      int         nMaxSize = (pCamera->m_nGrabFrameCount-1)*pCamera->m_FrameSize.cy;
      int   nMaxSize = (pCamera->m_nGrabFrameCount-1)*pCamera->m_FrameSize.cy;
      CSide_Data* pSideData = m_pGlassData->GetSideData((DimensionDir)iSide);
      if(pSideData != NULL)
      {
      if(pSideData != NULL) {
         ptStart.y = max(0,pSideData->m_nGlassStartLine-1000);
         nTotalLength = min((int)((pSideData->m_nPreGlassEndLine + 1000) - ptStart.y),nMaxSize);
      }   
      if(nTotalLength < 10000)
      if (nTotalLength < 10000) {
         nTotalLength = nMaxSize;
      }
      nFrame = nTotalLength/nOneFrameSize;
      if(ptStart.y < 0)
      nFrame = nTotalLength / nOneFrameSize;
      if (ptStart.y < 0) {
         ptStart.y = 0;
      for(int i = 0; i < nFrame ; i++)
      {
      }
      for(int i = 0; i < nFrame ; i++) {
         nLength = nOneFrameSize;
         if(ptStart.y+nLength >= nMaxSize)
         if (ptStart.y + nLength >= nMaxSize) {
            continue;
         }
         strPath.Format(_T("%s\\DebugFullImage\\%s\\%s\\%s\\%s\\%s__%s_%d"),PATH_INSPECTION_DATA,strDate,strRcpName,strGlassID,strTime,strGlassID,PANEL_SIDE[iSide],i);
         m_IV2M->IV2M_SaveFullImage(strPath,iSide,ptStart,nLength);      
         g_pLog->DisplayMessage(_T("%s %d Save Completed : %s"),PANEL_SIDE[iSide],i,strPath);
         ptStart.y += nLength; 
      }
      nLength = nTotalLength%nOneFrameSize;
      if(nLength > 10)
      {
         if(ptStart.y+nLength < nMaxSize)
         {
      if(nLength > 10) {
         if(ptStart.y+nLength < nMaxSize) {
            strPath.Format(_T("%s\\DebugFullImage\\%s\\%s\\%s\\%s\\%s__%s_%d"),PATH_INSPECTION_DATA,strDate,strRcpName,strGlassID,strTime,strGlassID,PANEL_SIDE[iSide],nFrame);      
            m_IV2M->IV2M_SaveFullImage(strPath,iSide,ptStart,nLength);      
         }         
      }
@@ -1272,18 +1264,20 @@
   int nTotalLength = 0;
   int nFrame = 0;
   if(m_pGlassData == NULL || m_IV2M == NULL)
   if (m_pGlassData == NULL || m_IV2M == NULL) {
      return;
   }
   CGlassRecipe *pGlassRcp = m_pGlassData->GetGlassRecipe();
   CString      strRcpName = pGlassRcp->GetRecipeName();
   int         iCam = m_pHardware->GetCameraIndexToDimension((DimensionDir)iSide);
   int         iScan = m_pHardware->GetScanToDimension((DimensionDir)iSide);
   int   iCam = m_pHardware->GetCameraIndexToDimension((DimensionDir)iSide);
   int   iScan = m_pHardware->GetScanToDimension((DimensionDir)iSide);
   CCameraSettings *pCamera = m_pHardware->GetCameraSettings(iCam,iScan);
   if(pCamera == NULL)
   if (pCamera == NULL) {
      return;
   }
   nTotalLength = pCamera->m_nGrabFrameCount*pCamera->m_FrameSize.cy;
   nFrame = nTotalLength/nOneFrameSize;
@@ -1292,35 +1286,30 @@
   ptStart.y =  max(0,0);
   CSide_Data *pSideData = m_pGlassData->GetSideData((DimensionDir)iSide);
   if(pSideData != NULL)
   {
   if(pSideData != NULL) {
      ptStart.y = max(0,pSideData->m_nGlassStartLine-1000);
      nTotalLength = min((pSideData->m_nGlassEndLine + 1000) - ptStart.y,pCamera->m_nGrabFrameCount*pCamera->m_FrameSize.cy);
   }   
   
   CString         strGlassID = g_pBase->m_strHPanelID;
   if(strGlassID.IsEmpty() == TRUE)
   {
   if(strGlassID.IsEmpty() == TRUE) {
      strGlassID = _T("Manual_ID");
   }
   if(strRcpName.IsEmpty() == TRUE)
   {
   if(strRcpName.IsEmpty() == TRUE) {
      strRcpName = _T("TestRcp");
   }
   strGlassID.Trim(_T(' '));
   CTime   time = CTime::GetCurrentTime();
   CString         strDate,strTime;
   CString   strDate,strTime;
   strDate.Format(_T("%04d%02d%02d"),time.GetYear(),time.GetMonth(),time.GetDay());
   strTime.Format(_T("%02d%02d%02d"),time.GetHour(),time.GetMinute(),time.GetSecond());
   for(int i = 0; i < nFrame ; i++)
   {
   for(int i = 0; i < nFrame ; i++) {
      nLength = nOneFrameSize;
   
      strPath.Format(_T("%s\\DebugFullImage\\%s\\%s\\%s\\%s\\%s__%s_%d"),PATH_INSPECTION_DATA,strDate,strRcpName,strGlassID,strTime,strGlassID,PANEL_SIDE[iSide],i);
@@ -1331,18 +1320,14 @@
      g_pLog->DisplayMessage(_T("%s %d Save Completed : %s"),PANEL_SIDE[iSide],i,strPath);
   }
   nLength = nTotalLength%nOneFrameSize;
   if(nLength)
   {
   nLength = nTotalLength % nOneFrameSize;
   if(nLength) {
      strPath.Format(_T("%s\\DebugFullImage\\%s\\%s\\%s\\%s\\%s__%s_%d"),PATH_INSPECTION_DATA,strDate,strRcpName,strGlassID,strTime,strGlassID,PANEL_SIDE[iSide],nFrame);      
      m_IV2M->IV2M_SaveFullImage(strPath,iSide,ptStart,nLength);      
      g_pLog->DisplayMessage(_T("%s %d Save Completed : %s"),PANEL_SIDE[iSide],nFrame,strPath);
   }
}
UINT CViewMain_ScanImage::ManualProcessAll(LPVOID pParam)