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