From 1e1fbe300ba2b22246c6743147087d10cf6c9798 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 15 七月 2025 17:25:05 +0800
Subject: [PATCH] 修复:InterfaceManager.cpp保存图片添加锁
---
EdgeInspector_App/View/ViewMain_ScanImage.cpp | 93 +++++++++++++++++++---------------------------
1 files changed, 39 insertions(+), 54 deletions(-)
diff --git a/EdgeInspector_App/View/ViewMain_ScanImage.cpp b/EdgeInspector_App/View/ViewMain_ScanImage.cpp
index 9b6af37..e616eeb 100644
--- a/EdgeInspector_App/View/ViewMain_ScanImage.cpp
+++ b/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)
--
Gitblit v1.9.3