From 2c2809d77ee1c1540b88a3b662f7113ab7d42cdf Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 15 七月 2025 11:02:47 +0800
Subject: [PATCH] 重构:保存图片逻辑,替换 IplImage 为 cv::Mat - 将 保存图片中的 IplImage 接口升级为现代 OpenCV cv::Mat 实现 - 添加图像指针、尺寸等边界条件校验,避免空指针和非法尺寸写入 - 简化图像转换与保存流程,提高代码可维护性 - 保留 JPEG 压缩质量参数,保持原有功能不变

---
 EdgeInspector_App/Recipe/HardwareSettings.cpp |   39 +++++++++++++++++++++++++++++++++++----
 1 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/EdgeInspector_App/Recipe/HardwareSettings.cpp b/EdgeInspector_App/Recipe/HardwareSettings.cpp
index 46ce242..2a5f35c 100644
--- a/EdgeInspector_App/Recipe/HardwareSettings.cpp
+++ b/EdgeInspector_App/Recipe/HardwareSettings.cpp
@@ -1031,6 +1031,9 @@
 
 		m_bUse_SaveDebugImage = rhs.m_bUse_SaveDebugImage;
 
+		// ly,2025.07.10
+		m_bSaveResultByHour = rhs.m_bSaveResultByHour;
+
 		// ly,2025.07.07
 		m_bEnableAutoCopy = rhs.m_bEnableAutoCopy;
 		m_strCopyToolExePath = rhs.m_strCopyToolExePath;
@@ -1262,6 +1265,10 @@
 	else if((void *)&m_nSaveImageQuality == pValue)
 		str = _T("SAVEIMAGE_QUALITY");
 
+	// ly,2025.07.10
+	else if ((void*)&m_bSaveResultByHour == pValue)
+		str = _T("SAVE_RESULT_BY_HOUR");
+
 	// ly,2025.07.07
 	else if ((void*)&m_bEnableAutoCopy == pValue)
 		str = _T("ENABLE_AUTOCOPY");
@@ -1426,7 +1433,13 @@
 	BasicInfoFile.GetItemValue((TCHAR*)(LPCTSTR)str,nTemp);
 	m_bUse_SaveDebugImage = (BOOL) nTemp;
 
-	// ly.2025.07.07
+	// ly,2025.07.10
+	str = GetFileString((void*)&m_bSaveResultByHour);
+	if (str.IsEmpty() == TRUE)
+		return FALSE;
+	BasicInfoFile.GetItemValue((TCHAR*)(LPCTSTR)str, m_bSaveResultByHour, FALSE);
+
+	// ly,2025.07.07
 	str = GetFileString((void*)&m_bEnableAutoCopy);
 	if (str.IsEmpty() == TRUE)
 		return FALSE;
@@ -1600,7 +1613,13 @@
 	Register.GetItemValue((TCHAR*)(LPCTSTR)str,nTemp);
 	m_bUse_SaveDebugImage = (BOOL) nTemp;
 
-	// ly.2025.07.07
+	// ly,2025.07.10
+	str = GetFileString((void*)&m_bSaveResultByHour);
+	if (str.IsEmpty() == TRUE)
+		return FALSE;
+	Register.GetItemValue((TCHAR*)(LPCTSTR)str, m_bSaveResultByHour, FALSE);
+
+	// ly,2025.07.07
 	str = GetFileString((void*)&m_bEnableAutoCopy);
 	if (str.IsEmpty() == TRUE)
 		return FALSE;
@@ -1757,7 +1776,13 @@
 		return FALSE;
 	Register.SetItemValue((TCHAR*)(LPCTSTR)str,(int) m_bUse_SaveDebugImage);
 
-	// ly.2025.07.07
+	// ly,2025.07.10
+	str = GetFileString((void*)&m_bSaveResultByHour);
+	if (str.IsEmpty() == TRUE)
+		return FALSE;
+	Register.SetItemValue((TCHAR*)(LPCTSTR)str, (int)m_bSaveResultByHour);
+
+	// ly,2025.07.07
 	str = GetFileString((void*)&m_bEnableAutoCopy);
 	if (str.IsEmpty() == TRUE)
 		return FALSE;
@@ -1923,7 +1948,13 @@
 		return FALSE;
 	BasicInfoFile.SetItemValue((TCHAR*)(LPCTSTR)str,m_bUse_SaveDebugImage);
 
-	// ly.2025.07.07
+	// ly,2025.07.10
+	str = GetFileString((void*)&m_bSaveResultByHour);
+	if (str.IsEmpty() == TRUE)
+		return FALSE;
+	BasicInfoFile.SetItemValue((TCHAR*)(LPCTSTR)str, (int)m_bSaveResultByHour);
+
+	// ly,2025.07.07
 	str = GetFileString((void*)&m_bEnableAutoCopy);
 	if (str.IsEmpty() == TRUE)
 		return FALSE;

--
Gitblit v1.9.3