From eda17eddf88e6108cadbf8dcef5c2195c1a7b708 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期三, 01 四月 2026 10:55:05 +0800
Subject: [PATCH] 提交VS生成临时文件

---
 LB_SmartVisionCommon/ImageEnhancementManager.cs |  155 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 155 insertions(+), 0 deletions(-)

diff --git a/LB_SmartVisionCommon/ImageEnhancementManager.cs b/LB_SmartVisionCommon/ImageEnhancementManager.cs
new file mode 100644
index 0000000..c92b8dd
--- /dev/null
+++ b/LB_SmartVisionCommon/ImageEnhancementManager.cs
@@ -0,0 +1,155 @@
+锘縰sing Microsoft.VisualBasic.ApplicationServices;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LB_SmartVisionCommon
+{
+    public class ImageEnhancementManager
+    {
+        private Dictionary<ImageEnhancementDataType, RecordImageEnhancementData> _filters;
+        private readonly string _dataFilePath;
+        private RecordImageEnhancementData _currentFilter;
+        private static ImageEnhancementManager _instance;
+        /// <summary>
+        /// 绾跨▼閿�
+        /// </summary>
+        private static readonly object _lock = new object();
+        private ImageEnhancementManager(string dataFilePath = "imageEnhancements.json")
+        {
+            _dataFilePath = dataFilePath;
+            _filters = new Dictionary<ImageEnhancementDataType, RecordImageEnhancementData>();
+            _currentFilter = null;
+            LoadUsers();
+        }
+        public static ImageEnhancementManager Instance
+        {
+            get
+            {
+                // 鍙岄噸妫�鏌ラ攣瀹氱‘淇濈嚎绋嬪畨鍏�
+                if (_instance == null)
+                {
+                    lock (_lock)
+                    {
+                        if (_instance == null)
+                        {
+                            _instance = new ImageEnhancementManager();
+                        }
+                    }
+                }
+                return _instance;
+            }
+        }
+
+        /// <summary>
+        /// 娣诲姞鍥惧儚澧炲己绠楀瓙
+        /// </summary>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        public bool AddUser(RecordImageEnhancementData filter)
+        {
+            if (_currentFilter == null)
+            {
+                _currentFilter = filter;
+            }
+
+            try
+            {
+                RecordImageEnhancementData recordImageEnhancementData = new RecordImageEnhancementData();
+                recordImageEnhancementData.MaskWidth = filter.MaskWidth;
+                recordImageEnhancementData.MaskHight = filter.MaskHight;
+                recordImageEnhancementData.Factor = filter.Factor;
+                recordImageEnhancementData.FilterName = filter.FilterName;
+                _filters.Add(recordImageEnhancementData.FilterName, recordImageEnhancementData);
+            }
+            catch (Exception ex) 
+            {
+                MessageBox.Show("璇ョ畻瀛愬凡瀛樺湪");
+            }
+            SaveUsers();
+            return true;
+        }
+
+        /// <summary>
+        /// 鍒犻櫎鍥惧儚澧炲己绠楀瓙
+        /// </summary>
+        /// <param name="filter"></param>
+        /// <returns></returns>
+        public bool DeleteUser(RecordImageEnhancementData filter)
+        {
+            try
+            {
+                // 1. 浠庡瓧鍏镐腑鍒犻櫎
+                if (_filters.ContainsKey(filter.FilterName))
+                {
+                    _filters.Remove(filter.FilterName);
+                }
+
+                // 2. 濡傛灉鍒犻櫎鐨勬槸褰撳墠婊ゆ尝锛屾竻绌篲currentFilter
+                if (_currentFilter != null && _currentFilter.FilterName == filter.FilterName)
+                {
+                    _currentFilter = null;
+                }
+
+                // 3. 淇濆瓨鏇存敼
+                SaveUsers();
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                // 璁板綍鏃ュ織
+                Console.WriteLine($"鍒犻櫎婊ゆ尝澶辫触: {ex.Message}");
+                return false;
+            }
+        }
+
+        
+        /// <summary>
+        /// 鑾峰彇鎵�鏈夌敤鎴峰垪琛�
+        /// </summary>
+        /// <returns>List<RecordUserData></returns>
+        public List<RecordImageEnhancementData> GetAllUsers()
+        {
+            return _filters.Select(u => u.Value.Clone()).ToList();
+        }
+
+        #region json鏂囦欢淇濆瓨鍔犺浇
+        /// <summary>
+        /// 淇濆瓨鐢ㄦ埛鏁版嵁鍒癑SON鏂囦欢
+        /// </summary>
+        private void SaveUsers()
+        {
+            try
+            {
+                ConfigManager<Dictionary<ImageEnhancementDataType, RecordImageEnhancementData>>.SaveConfig<Dictionary<ImageEnhancementDataType, RecordImageEnhancementData>>(_filters, _dataFilePath);
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show($"淇濆瓨鍥惧儚澧炲己绠楀瓙澶辫触锛歿ex.Message}", "閿欒", MessageBoxButtons.OK, MessageBoxIcon.Error);
+            }
+        }
+
+        /// <summary>
+        /// 浠嶫SON鏂囦欢鍔犺浇鐢ㄦ埛鏁版嵁
+        /// </summary>
+        private void LoadUsers()
+        {
+            try
+            {
+                if (File.Exists(_dataFilePath))
+                {
+                    _filters = ConfigManager<Dictionary<ImageEnhancementDataType, RecordImageEnhancementData>>.LoadConfig<Dictionary<ImageEnhancementDataType, RecordImageEnhancementData>>(_dataFilePath) ?? new Dictionary<ImageEnhancementDataType, RecordImageEnhancementData>();
+                }
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show($"鍔犺浇鍥惧儚澧炲己绠楀瓙澶辫触锛歿ex.Message}", "閿欒", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                _filters = new Dictionary<ImageEnhancementDataType, RecordImageEnhancementData>();
+            }
+        }
+        #endregion
+    }
+}

--
Gitblit v1.9.3