From 4d6c9ad3c9714d5f8520c6f52c3ed6ecb75b76b8 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期三, 01 四月 2026 10:53:13 +0800
Subject: [PATCH] 集成曹工添加的读码器功能以及工具集
---
LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfo.cs | 2
LB_VisionProcesses/LB_VisionProcesses.csproj | 4
LB_VisionProcesses/ref/clserVsp.dll | 0
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.CoreCompileInputs.cache | 2
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx | 129
LB_VisionProcesses/ref/MVlog4cppmd.dll | 0
LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.Designer.cs | 178
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.FileListAbsolute.txt | 4
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/d829e6c3-9220-4089-bfdf-acafa50d5245.vsidx | 0
LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll | 0
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.CoreCompileInputs.cache | 2
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/EasyIDSDK_Net.xml | 1812 +++++++++
LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb | 0
LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs | 88
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.projects.v9.bin | 0
LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll | 0
LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb | 0
LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/ref/LB_VisionFlowNode.dll | 0
LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx | 147
LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll | 0
LB_SmartVision/bin/Debug/net8.0-windows/生产数据/20260401/流程1.csv | 4
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReaderForm.resources | 0
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.dll | 0
LB_SmartVisionCommon/obj/Debug/net8.0-windows/ref/LB_SmartVisionCommon.dll | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/ref/LB_SmartVisionLoginUI.dll | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfo.cs | 2
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb | 0
LB_SmartVisionCommon/obj/Debug/net8.0-windows/refint/LB_SmartVisionCommon.dll | 0
LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.csproj.AssemblyReference.cache | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb | 0
LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/SemanticSymbols.db | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll | 0
LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll | 0
LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.pdb | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.pdb | 0
LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.dll | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.csproj.AssemblyReference.cache | 0
LB_VisionProcesses/ref/ImageSave.dll | 0
LB_VisionProcesses/LB_VisionProcesses.csproj.user | 6
LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.backup.json | 460 ++
LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/CodeChunks.db | 0
LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb | 0
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.pdb | 0
LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-03/2026-03-31.log | 1
LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll | 0
LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb | 0
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.dll | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.dll | 0
LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs | 278 +
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll | 0
LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs | 373 +
LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-04/2026-04-01.log | 1
LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfo.cs | 2
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb | 0
LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/refint/LB_VisionFlowNode.dll | 0
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/ref/LB_VisionProcesses.dll | 0
LB_SmartVision/.vs/LB_SmartVision/DesignTimeBuild/.dtbcache.v2 | 0
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.dll | 0
LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll | 0
LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs | 27
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.pdb | 0
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll | 0
LB_VisionProcesses/ref/EasyIDSDK_Net.XML | 1812 +++++++++
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.dll | 0
LB_SmartVision/bin/Debug/net8.0-windows/生产数据/20260401/流程0.csv | 4
LB_SmartVision/.vs/LB_SmartVision/v17/fileList.bin | 0
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb | 0
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfo.cs | 2
LB_SmartVision/obj/Debug/net8.0-windows/ref/LB_SmartVision.dll | 0
LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb | 0
LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-03/2026-03-31.log | 1
LB_SmartVision/bin/Debug/net8.0-windows/生产数据/20260331/流程0.csv | 3
LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll | 0
LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.Designer.cs | 152
LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb | 0
LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-03/2026-03-31.log | 47
LB_SmartVision/GlobalVar.cs | 15
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll | 0
LB_SmartVision/obj/Debug/net8.0-windows/refint/LB_SmartVision.dll | 0
LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll | 0
LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb | 0
LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfoInputs.cache | 2
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReadersEditPage.resources | 0
LB_SmartVision/bin/Debug/net8.0-windows/生产数据/20260331/流程1.csv | 3
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.designer.deps.json | 178
LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-04/2026-04-01.log | 1
LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll | 0
LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfoInputs.cache | 2
LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.assets.cache | 0
LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb | 0
LB_SmartVisionCommon/ImageEnhancementData.cs | 75
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.GenerateResource.cache | 0
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs | 574 ++
LB_SmartVision/bin/Debug/net8.0-windows/EasyIDSDK_Net.dll | 0
LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.cs | 117
LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfo.cs | 2
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.Alogrithms.Halcon.HImageEnhancementToolEdit.resources | 0
LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfo.cs | 2
LB_SmartVision/.vs/LB_SmartVision/v17/.futdcache.v2 | 0
LB_VisionProcesses/ref/ImageConvert.dll | 0
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/refint/LB_VisionProcesses.dll | 0
LB_VisionProcesses/ref/VideoRender.dll | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/refint/LB_SmartVisionLoginUI.dll | 0
LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.Designer.cs | 257 +
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.AssemblyInfoInputs.cache | 1
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.pdb | 0
LB_SmartVision/obj/Debug/net8.0-windows/apphost.exe | 0
LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll | 0
LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.csproj.AssemblyReference.cache | 0
LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs | 59
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/86cd2fd8-585b-42a8-98c5-9f4c25100d24.vsidx | 0
LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-03/2026-03-31.log | 1
LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/ref/LB_SmartVisionCameraDevice.dll | 0
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs | 610 +++
LB_VisionProcesses/ref/SDKLOG_default.properties | 15
LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.resx | 120
LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.dll | 0
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/EasyIDSDK_Net.dll | 0
LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs | 222 +
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.FileListAbsolute.txt | 5
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.GenerateResource.cache | 0
LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll | 0
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.pdb | 0
LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.csproj.CoreCompileInputs.cache | 2
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb | 0
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.dll | 0
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.AssemblyReference.cache | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.deps.json | 13
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfoInputs.cache | 2
LB_VisionProcesses/ref/SharpnessDetection64.dll | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.GeneratedMSBuildEditorConfig.editorconfig | 24
LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb | 0
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/98ac23f6-fbf4-4a36-8116-292cb0f89b94.vsidx | 0
LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-04/2026-04-01.log | 1
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe | 0
LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.dll | 0
LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll | 0
LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.resx | 120
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/apphost.exe | 0
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfo.cs | 2
LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.pdb | 0
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/230aacfd-8986-4989-a241-19f43a34c421.vsidx | 0
LB_SmartVisionCommon/ImageEnhancementManager.cs | 155
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfoInputs.cache | 2
LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.json | 463 ++
LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/refint/LB_SmartVisionCameraDevice.dll | 0
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.AssemblyReference.cache | 0
LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll | 0
LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfoInputs.cache | 2
LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs | 305 +
LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm.resources | 0
LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-04/2026-04-01.log | 91
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfoInputs.cache | 2
LB_VisionControls/obj/Debug/net8.0-windows7.0/refint/LB_VisionControls.dll | 0
LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.CreateBarcodeReaderForm.resources | 0
LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs | 136
LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.exe | 0
LB_VisionProcesses/ref/iImageProcessing64.dll | 0
LB_VisionProcesses/ref/EasyIDSDK_Net.dll | 0
LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll | 0
LB_SmartVision/ProcessRun/ProcessContext.cs | 5
LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll | 0
LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.deps.json | 14
LB_VisionProcesses/ref/EasyID.dll | 0
LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll | 0
LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb | 0
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.csproj.BuildWithSkipAnalyzers | 0
LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll | 0
LB_VisionProcesses/ref/CLSerCOM.dll | 0
LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/21a6d510-514b-45b0-a16e-6f68637ad30d.vsidx | 0
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.metadata.v9.bin | 0
LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.resx | 120
LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.csproj.AssemblyReference.cache | 0
LB_VisionControls/obj/Debug/net8.0-windows7.0/ref/LB_VisionControls.dll | 0
LB_SmartVision/VisionForm.cs | 128
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.pdb | 0
LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb | 0
LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.strings.v9.bin | 0
LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-03/2026-03-31.log | 1
LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.cs | 207 +
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.AssemblyInfo.cs | 25
LB_SmartVision/bin/Debug/net8.0-windows/EasyIDSDK_Net.xml | 1812 +++++++++
LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.dll | 0
LB_VisionProcesses/IProcess.cs | 3
LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfoInputs.cache | 2
LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.cs | 226 +
LB_VisionProcesses/Processes/BarcodeReaderProcess.cs | 149
LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-04/2026-04-01.log | 1
LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.GlobalUsings.g.cs | 8
/dev/null | 0
LB_SmartVision/LB_SmartVision.csproj.user | 9
LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe | 0
LB_VisionFlowNode/IFlowContext.cs | 4
LB_VisionProcesses/ref/libwinpthread-1.dll | 0
LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll | 0
LB_SmartVision/.vs/LB_SmartVision/v17/.suo | 0
LB_SmartVision/bin/Debug/net8.0-windows/所有产品/Product0/A_BarcodeReaderConnections.json | 1
205 files changed, 11,646 insertions(+), 193 deletions(-)
diff --git a/LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/CodeChunks.db b/LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/CodeChunks.db
index 9d6b2fa..299f01b 100644
--- a/LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/CodeChunks.db
+++ b/LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/CodeChunks.db
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/SemanticSymbols.db b/LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/SemanticSymbols.db
index 7ff40ee..0cea8f7 100644
--- a/LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/SemanticSymbols.db
+++ b/LB_SmartVision/.vs/LB_SmartVision/CopilotIndices/17.14.1593.33849/SemanticSymbols.db
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/DesignTimeBuild/.dtbcache.v2 b/LB_SmartVision/.vs/LB_SmartVision/DesignTimeBuild/.dtbcache.v2
index 2af9941..69ea2c2 100644
--- a/LB_SmartVision/.vs/LB_SmartVision/DesignTimeBuild/.dtbcache.v2
+++ b/LB_SmartVision/.vs/LB_SmartVision/DesignTimeBuild/.dtbcache.v2
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/0a6bdf73-a39c-4518-8e0c-a8f56e267a80.vsidx b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/0a6bdf73-a39c-4518-8e0c-a8f56e267a80.vsidx
deleted file mode 100644
index b24c78c..0000000
--- a/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/0a6bdf73-a39c-4518-8e0c-a8f56e267a80.vsidx
+++ /dev/null
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/21a6d510-514b-45b0-a16e-6f68637ad30d.vsidx b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/21a6d510-514b-45b0-a16e-6f68637ad30d.vsidx
new file mode 100644
index 0000000..f5eac9f
--- /dev/null
+++ b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/21a6d510-514b-45b0-a16e-6f68637ad30d.vsidx
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/230aacfd-8986-4989-a241-19f43a34c421.vsidx b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/230aacfd-8986-4989-a241-19f43a34c421.vsidx
new file mode 100644
index 0000000..4b473c5
--- /dev/null
+++ b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/230aacfd-8986-4989-a241-19f43a34c421.vsidx
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/86cd2fd8-585b-42a8-98c5-9f4c25100d24.vsidx b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/86cd2fd8-585b-42a8-98c5-9f4c25100d24.vsidx
new file mode 100644
index 0000000..e19f5cf
--- /dev/null
+++ b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/86cd2fd8-585b-42a8-98c5-9f4c25100d24.vsidx
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/98ac23f6-fbf4-4a36-8116-292cb0f89b94.vsidx b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/98ac23f6-fbf4-4a36-8116-292cb0f89b94.vsidx
new file mode 100644
index 0000000..952692c
--- /dev/null
+++ b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/98ac23f6-fbf4-4a36-8116-292cb0f89b94.vsidx
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/d829e6c3-9220-4089-bfdf-acafa50d5245.vsidx b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/d829e6c3-9220-4089-bfdf-acafa50d5245.vsidx
new file mode 100644
index 0000000..323450d
--- /dev/null
+++ b/LB_SmartVision/.vs/LB_SmartVision/FileContentIndex/d829e6c3-9220-4089-bfdf-acafa50d5245.vsidx
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/v17/.futdcache.v2 b/LB_SmartVision/.vs/LB_SmartVision/v17/.futdcache.v2
index e1f456b..cb1dba5 100644
--- a/LB_SmartVision/.vs/LB_SmartVision/v17/.futdcache.v2
+++ b/LB_SmartVision/.vs/LB_SmartVision/v17/.futdcache.v2
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/v17/.suo b/LB_SmartVision/.vs/LB_SmartVision/v17/.suo
index 275e390..07f4367 100644
--- a/LB_SmartVision/.vs/LB_SmartVision/v17/.suo
+++ b/LB_SmartVision/.vs/LB_SmartVision/v17/.suo
Binary files differ
diff --git a/LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.backup.json b/LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.backup.json
index 9081b99..0e5b8e5 100644
--- a/LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.backup.json
+++ b/LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.backup.json
@@ -3,12 +3,103 @@
"WorkspaceRootPath": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\",
"Documents": [
{
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\iprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\forms\\pages\\barcodereaderpage\\barcodereaderform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\barcodereaderform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\himageenhancementtool\\himageenhancementtooledit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\processrun\\processcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:processrun\\processcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\basealgorithm\\talgorithm.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{81657A9F-621D-F158-837F-4470F21E5004}|..\\LB_VisionFlowNode\\LB_VisionFlowNode.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionflownode\\iflowcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\himageenhancementtool\\himageenhancementtool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\hblobtool\\hblobtool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\forms\\pages\\barcodereaderpage\\createbarcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\createbarcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\huayray\\hrbarcodereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\barcodereaderbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\barcodereaderfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\ibarcodereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\processes\\barcodereaderprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\himageenhancementtool\\himageenhancementtooledit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
"AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
- "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\globalvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:globalvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\forms\\pages\\barcodereaderpage\\barcodereaderseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\barcodereaderseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\forms\\pages\\barcodereaderpage\\barcodereaderseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\barcodereaderseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\forms\\pages\\barcodereaderpage\\createbarcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\createbarcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\forms\\pages\\barcodereaderpage\\barcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\barcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\himageenhancementtool\\himageenhancementtooledit.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\barcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\barcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\processes\\recordtool\\recordtooledit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\processes\\recordtool\\recordcontrol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\processes\\recordtool\\recordtool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\cameras\\lbcameras\\lbcamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\cameras\\hrcameras\\hrcamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\lb_visionprocesses.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
}
],
"DocumentGroupContainers": [
@@ -18,7 +109,7 @@
"DocumentGroups": [
{
"DockedWidth": 610,
- "SelectedChildIndex": 1,
+ "SelectedChildIndex": 7,
"Children": [
{
"$type": "Bookmark",
@@ -26,28 +117,373 @@
},
{
"$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "BarcodeReaderForm.Designer.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.Designer.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.Designer.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.Designer.cs",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.Designer.cs",
+ "ViewState": "AgIAABMAAAAAAAAAAAAAwBYAAAAkAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:17:10.303Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "ProcessContext.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessContext.cs",
+ "RelativeDocumentMoniker": "ProcessRun\\ProcessContext.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessContext.cs",
+ "RelativeToolTip": "ProcessRun\\ProcessContext.cs",
+ "ViewState": "AgIAAPoAAAAAAAAAAADgvwMBAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:14:17.104Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "HBlobTool.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HBlobTool\\HBlobTool.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HBlobTool\\HBlobTool.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HBlobTool\\HBlobTool.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HBlobTool\\HBlobTool.cs",
+ "ViewState": "AgIAAAgAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:12:59.344Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "IFlowContext.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionFlowNode\\IFlowContext.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionFlowNode\\IFlowContext.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionFlowNode\\IFlowContext.cs",
+ "RelativeToolTip": "..\\LB_VisionFlowNode\\IFlowContext.cs",
+ "ViewState": "AgIAACcBAAAAAAAAAAAIwC4BAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:11:55.296Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": "BarcodeReaderFactory.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderFactory.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderFactory.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderFactory.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderFactory.cs",
+ "ViewState": "AgIAAA4AAAAAAAAAAAAAwAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:07:45.401Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "TAlgorithm.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
+ "ViewState": "AgIAACQWAAAAAAAAAAAawIYXAAAbAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T01:59:37.978Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
"DocumentIndex": 0,
+ "Title": "IProcess.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\IProcess.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\IProcess.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\IProcess.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\IProcess.cs",
+ "ViewState": "AgIAACAAAAAAAAAAAADwvyQAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:49:16.422Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 15,
"Title": "VisionForm.cs",
"DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\VisionForm.cs",
"RelativeDocumentMoniker": "VisionForm.cs",
"ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\VisionForm.cs",
"RelativeToolTip": "VisionForm.cs",
- "ViewState": "AgIAADwEAAAAAAAAAAAEwE0EAAAPAAAAAAAAAA==",
+ "ViewState": "AgIAAIAAAAAAAAAAAAAAwGsAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-30T08:25:28.342Z",
+ "WhenOpened": "2026-04-01T00:35:41.829Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 16,
+ "Title": "GlobalVar.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
+ "RelativeDocumentMoniker": "GlobalVar.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
+ "RelativeToolTip": "GlobalVar.cs",
+ "ViewState": "AgIAACAAAAAAAAAAAAAQwC0AAAASAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:34:18.376Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 18,
+ "Title": "BarcodeReadersEditPage.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:34.736Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 19,
+ "Title": "CreateBarcodeReaderForm.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "ViewState": "AgIAACYAAAAAAAAAAAAUwAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:30.766Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 1,
- "Title": "VisionForm.cs [\u8BBE\u8BA1]",
- "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\VisionForm.cs",
- "RelativeDocumentMoniker": "VisionForm.cs",
- "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\VisionForm.cs [\u8BBE\u8BA1]",
- "RelativeToolTip": "VisionForm.cs [\u8BBE\u8BA1]",
+ "DocumentIndex": 8,
+ "Title": "CreateBarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs [\u8BBE\u8BA1]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-30T08:23:40.582Z",
+ "WhenOpened": "2026-04-01T00:32:28.87Z",
"EditorCaption": " [\u8BBE\u8BA1]"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 17,
+ "Title": "BarcodeReadersEditPage.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "ViewState": "AgIAACsAAAAAAAAAAAAIwDsAAAAXAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:09.471Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 20,
+ "Title": "BarcodeReaderForm.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.cs",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:06.623Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "HImageEnhancementToolEdit.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "ViewState": "AgIAAB8AAAAAAAAAAAAAwA0AAAASAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:48:13.473Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 14,
+ "Title": "HImageEnhancementToolEdit.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:48:09.415Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 21,
+ "Title": "HImageEnhancementToolEdit.Designer.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.Designer.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.Designer.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.Designer.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.Designer.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:48:08.459Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "HImageEnhancementTool.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementTool.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementTool.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementTool.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementTool.cs",
+ "ViewState": "AgIAABMAAAAAAAAAAAAlwBQAAAAnAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:47:36.448Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 13,
+ "Title": "BarcodeReaderProcess.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\BarcodeReaderProcess.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\BarcodeReaderProcess.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\BarcodeReaderProcess.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\BarcodeReaderProcess.cs",
+ "ViewState": "AgIAABYAAAAAAAAAAAAIwA4AAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:45:56.595Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 22,
+ "Title": "BarcodeReaderForm.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "ViewState": "AgIAANEAAAAAAAAAAAAswA4AAAAnAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:43:49.585Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 23,
+ "Title": "BarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:43:15.84Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
+ "Title": "BarcodeReaderBase.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderBase.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderBase.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderBase.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderBase.cs",
+ "ViewState": "AgIAAAgAAAAAAAAAAAAwwAsAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:36.276Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 12,
+ "Title": "IBarcodeReader.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\IBarcodeReader.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\IBarcodeReader.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\IBarcodeReader.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\IBarcodeReader.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvwoAAAAiAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:22.392Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 24,
+ "Title": "RecordToolEdit.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordToolEdit.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordToolEdit.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordToolEdit.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordToolEdit.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:14.878Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 25,
+ "Title": "RecordControl.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordControl.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordControl.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordControl.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordControl.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:10.378Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 26,
+ "Title": "RecordTool.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordTool.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordTool.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordTool.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordTool.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:09.596Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 27,
+ "Title": "LBCamera.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:41:43.083Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 28,
+ "Title": "HRCamera.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:41:36.306Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 9,
+ "Title": "HRBarcodeReader.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\Huayray\\HRBarcodeReader.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\Huayray\\HRBarcodeReader.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\Huayray\\HRBarcodeReader.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\Huayray\\HRBarcodeReader.cs",
+ "ViewState": "AgIAAKQAAAAAAAAAAAAcwA4AAAAFAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:41:06.409Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 29,
+ "Title": "LB_VisionProcesses.csproj",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\LB_VisionProcesses.csproj",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\LB_VisionProcesses.csproj",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\LB_VisionProcesses.csproj",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\LB_VisionProcesses.csproj",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+ "WhenOpened": "2026-03-31T05:36:50.69Z"
}
]
},
diff --git a/LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.json b/LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.json
index 88a322e..a6f17c5 100644
--- a/LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.json
+++ b/LB_SmartVision/.vs/LB_SmartVision/v17/DocumentLayout.json
@@ -3,12 +3,103 @@
"WorkspaceRootPath": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\",
"Documents": [
{
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\himageenhancementtool\\himageenhancementtool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\himageenhancementtool\\himageenhancementtooledit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\iprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\forms\\pages\\barcodereaderpage\\barcodereaderform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\barcodereaderform.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\himageenhancementtool\\himageenhancementtooledit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\processrun\\processcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:processrun\\processcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\basealgorithm\\talgorithm.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{81657A9F-621D-F158-837F-4470F21E5004}|..\\LB_VisionFlowNode\\LB_VisionFlowNode.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionflownode\\iflowcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\hblobtool\\hblobtool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\forms\\pages\\barcodereaderpage\\createbarcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\createbarcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\huayray\\hrbarcodereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\barcodereaderbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\barcodereaderfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\ibarcodereader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\processes\\barcodereaderprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
"AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
- "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:visionform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\globalvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:globalvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\forms\\pages\\barcodereaderpage\\barcodereaderseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\barcodereaderseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\forms\\pages\\barcodereaderpage\\barcodereaderseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\barcodereaderseditpage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\forms\\pages\\barcodereaderpage\\createbarcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\createbarcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_smartvision\\forms\\pages\\barcodereaderpage\\barcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CCC2E421-B887-0A0A-E6B0-3D15411364FD}|LB_SmartVision.csproj|solutionrelative:forms\\pages\\barcodereaderpage\\barcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\alogrithms\\halcon\\2d\\himageenhancementtool\\himageenhancementtooledit.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\barcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\barcodereaders\\barcodereaderform.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\processes\\recordtool\\recordtooledit.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\processes\\recordtool\\recordcontrol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\processes\\recordtool\\recordtool.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\cameras\\lbcameras\\lbcamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\cameras\\hrcameras\\hrcamera.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{E51B9948-EB07-BAEF-424D-5B0332375B34}|..\\LB_VisionProcesses\\LB_VisionProcesses.csproj|d:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\smartvision\\lb_visionprocesses\\lb_visionprocesses.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
}
],
"DocumentGroupContainers": [
@@ -18,7 +109,7 @@
"DocumentGroups": [
{
"DockedWidth": 610,
- "SelectedChildIndex": 1,
+ "SelectedChildIndex": 18,
"Children": [
{
"$type": "Bookmark",
@@ -26,27 +117,375 @@
},
{
"$type": "Document",
- "DocumentIndex": 0,
+ "DocumentIndex": 3,
+ "Title": "BarcodeReaderForm.Designer.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.Designer.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.Designer.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.Designer.cs",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.Designer.cs",
+ "ViewState": "AgIAABMAAAAAAAAAAAAAwBYAAAAkAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:17:10.303Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "ProcessContext.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessContext.cs",
+ "RelativeDocumentMoniker": "ProcessRun\\ProcessContext.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\ProcessRun\\ProcessContext.cs",
+ "RelativeToolTip": "ProcessRun\\ProcessContext.cs",
+ "ViewState": "AgIAAPoAAAAAAAAAAADgvwMBAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:14:17.104Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "Title": "HBlobTool.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HBlobTool\\HBlobTool.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HBlobTool\\HBlobTool.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HBlobTool\\HBlobTool.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HBlobTool\\HBlobTool.cs",
+ "ViewState": "AgIAAAgAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:12:59.344Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "IFlowContext.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionFlowNode\\IFlowContext.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionFlowNode\\IFlowContext.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionFlowNode\\IFlowContext.cs",
+ "RelativeToolTip": "..\\LB_VisionFlowNode\\IFlowContext.cs",
+ "ViewState": "AgIAACcBAAAAAAAAAAAIwC4BAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:11:55.296Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 12,
+ "Title": "BarcodeReaderFactory.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderFactory.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderFactory.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderFactory.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderFactory.cs",
+ "ViewState": "AgIAAA4AAAAAAAAAAAAAwAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T02:07:45.401Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "TAlgorithm.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\BaseAlgorithm\\TAlgorithm.cs",
+ "ViewState": "AgIAACQWAAAAAAAAAAAawIYXAAAbAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T01:59:37.978Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "IProcess.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\IProcess.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\IProcess.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\IProcess.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\IProcess.cs",
+ "ViewState": "AgIAACAAAAAAAAAAAADwvyQAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:49:16.422Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 15,
"Title": "VisionForm.cs",
"DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\VisionForm.cs",
"RelativeDocumentMoniker": "VisionForm.cs",
"ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\VisionForm.cs",
"RelativeToolTip": "VisionForm.cs",
- "ViewState": "AgIAAA8AAAAAAAAAAAAAABMAAAAsAAAAAAAAAA==",
+ "ViewState": "AgIAAIAAAAAAAAAAAAAAwGsAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-30T08:25:28.342Z",
+ "WhenOpened": "2026-04-01T00:35:41.829Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 16,
+ "Title": "GlobalVar.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
+ "RelativeDocumentMoniker": "GlobalVar.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\GlobalVar.cs",
+ "RelativeToolTip": "GlobalVar.cs",
+ "ViewState": "AgIAACAAAAAAAAAAAAAQwC0AAAASAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:34:18.376Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 18,
+ "Title": "BarcodeReadersEditPage.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:34.736Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 19,
+ "Title": "CreateBarcodeReaderForm.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "ViewState": "AgIAACYAAAAAAAAAAAAUwAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:30.766Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 9,
+ "Title": "CreateBarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\CreateBarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:28.87Z",
+ "EditorCaption": " [\u8BBE\u8BA1]"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 17,
+ "Title": "BarcodeReadersEditPage.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReadersEditPage.cs",
+ "ViewState": "AgIAACsAAAAAAAAAAAAIwDsAAAAXAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:09.471Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 20,
+ "Title": "BarcodeReaderForm.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.cs",
+ "RelativeToolTip": "Forms\\Pages\\BarcodeReaderPage\\BarcodeReaderForm.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-04-01T00:32:06.623Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "HImageEnhancementToolEdit.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "ViewState": "AgIAAB8AAAAAAAAAAAAAwA0AAAASAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:48:13.473Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
- "Title": "VisionForm.cs [\u8BBE\u8BA1]",
- "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\VisionForm.cs",
- "RelativeDocumentMoniker": "VisionForm.cs",
- "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_SmartVision\\VisionForm.cs [\u8BBE\u8BA1]",
- "RelativeToolTip": "VisionForm.cs [\u8BBE\u8BA1]",
+ "Title": "HImageEnhancementToolEdit.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.cs [\u8BBE\u8BA1]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-30T08:23:40.582Z"
+ "WhenOpened": "2026-03-31T05:48:09.415Z",
+ "EditorCaption": " [\u8BBE\u8BA1]"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 21,
+ "Title": "HImageEnhancementToolEdit.Designer.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.Designer.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.Designer.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.Designer.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementToolEdit.Designer.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:48:08.459Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "HImageEnhancementTool.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementTool.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementTool.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementTool.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Alogrithms\\Halcon\\2D\\HImageEnhancementTool\\HImageEnhancementTool.cs",
+ "ViewState": "AgIAACUAAAAAAAAAAAAlwBQAAAAnAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:47:36.448Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 14,
+ "Title": "BarcodeReaderProcess.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\BarcodeReaderProcess.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\BarcodeReaderProcess.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\BarcodeReaderProcess.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\BarcodeReaderProcess.cs",
+ "ViewState": "AgIAABYAAAAAAAAAAAAIwA4AAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:45:56.595Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 22,
+ "Title": "BarcodeReaderForm.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "ViewState": "AgIAANEAAAAAAAAAAAAswA4AAAAnAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:43:49.585Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 23,
+ "Title": "BarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderForm.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:43:15.84Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": "BarcodeReaderBase.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderBase.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderBase.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderBase.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\BarcodeReaderBase.cs",
+ "ViewState": "AgIAAAgAAAAAAAAAAAAwwAsAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:36.276Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 13,
+ "Title": "IBarcodeReader.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\IBarcodeReader.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\IBarcodeReader.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\IBarcodeReader.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\IBarcodeReader.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvwoAAAAiAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:22.392Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 24,
+ "Title": "RecordToolEdit.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordToolEdit.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordToolEdit.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordToolEdit.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordToolEdit.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:14.878Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 25,
+ "Title": "RecordControl.cs [\u8BBE\u8BA1]",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordControl.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordControl.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordControl.cs [\u8BBE\u8BA1]",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordControl.cs [\u8BBE\u8BA1]",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:10.378Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 26,
+ "Title": "RecordTool.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordTool.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordTool.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Processes\\RecordTool\\RecordTool.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Processes\\RecordTool\\RecordTool.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:42:09.596Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 27,
+ "Title": "LBCamera.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\LBCameras\\LBCamera.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:41:43.083Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 28,
+ "Title": "HRCamera.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\Cameras\\HRCameras\\HRCamera.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:41:36.306Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
+ "Title": "HRBarcodeReader.cs",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\Huayray\\HRBarcodeReader.cs",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\BarcodeReaders\\Huayray\\HRBarcodeReader.cs",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\BarcodeReaders\\Huayray\\HRBarcodeReader.cs",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\BarcodeReaders\\Huayray\\HRBarcodeReader.cs",
+ "ViewState": "AgIAAKQAAAAAAAAAAAAcwA4AAAAFAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-03-31T05:41:06.409Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 29,
+ "Title": "LB_VisionProcesses.csproj",
+ "DocumentMoniker": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\LB_VisionProcesses.csproj",
+ "RelativeDocumentMoniker": "..\\LB_VisionProcesses\\LB_VisionProcesses.csproj",
+ "ToolTip": "D:\\\u9879\u76EE\\\u8F6E\u80CE\u5916\u89C2\u68C0\u6D4B\\SmartVision\\LB_VisionProcesses\\LB_VisionProcesses.csproj",
+ "RelativeToolTip": "..\\LB_VisionProcesses\\LB_VisionProcesses.csproj",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+ "WhenOpened": "2026-03-31T05:36:50.69Z"
}
]
},
diff --git a/LB_SmartVision/.vs/LB_SmartVision/v17/fileList.bin b/LB_SmartVision/.vs/LB_SmartVision/v17/fileList.bin
index 47a12bf..ad82106 100644
--- a/LB_SmartVision/.vs/LB_SmartVision/v17/fileList.bin
+++ b/LB_SmartVision/.vs/LB_SmartVision/v17/fileList.bin
Binary files differ
diff --git a/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.metadata.v9.bin b/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.metadata.v9.bin
index ce5c56b..b6e7ed6 100644
--- a/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.metadata.v9.bin
+++ b/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.metadata.v9.bin
Binary files differ
diff --git a/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.projects.v9.bin b/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.projects.v9.bin
index a058041..75b3e8a 100644
--- a/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.projects.v9.bin
+++ b/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.projects.v9.bin
Binary files differ
diff --git a/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.strings.v9.bin b/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.strings.v9.bin
index 5efeb15..aa991fc 100644
--- a/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.strings.v9.bin
+++ b/LB_SmartVision/.vs/ProjectEvaluation/lb_smartvision.strings.v9.bin
Binary files differ
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.Designer.cs b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.Designer.cs
new file mode 100644
index 0000000..f29e92c
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.Designer.cs
@@ -0,0 +1,257 @@
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace LB_SmartVision.Forms.Pages.BarcodeReaderPage
+{
+ partial class BarcodeReaderForm
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ uiGroupBoxImage = new GroupBox();
+ uiGroupBoxControl = new GroupBox();
+ uiGroupBoxResult = new GroupBox();
+ uiComboBoxBrand = new ComboBox();
+ uiLabel1 = new Label();
+ uiRadioButtonSoftTrigger = new RadioButton();
+ uiRadioButtonHardTrigger = new RadioButton();
+ uiButtonStartGrabbing = new Button();
+ uiButtonStopGrabbing = new Button();
+ uiButtonSoftTrigger = new Button();
+ uiListBoxBarcodes = new ListBox();
+ uiTextBoxResult = new TextBox();
+ uiLabel2 = new Label();
+ uiButtonClear = new Button();
+ uiGroupBoxImage.SuspendLayout();
+ uiGroupBoxControl.SuspendLayout();
+ uiGroupBoxResult.SuspendLayout();
+ SuspendLayout();
+ //
+ // uiGroupBoxImage
+ //
+ uiGroupBoxImage.BackColor = Color.FromArgb(32, 41, 50);
+ uiGroupBoxImage.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiGroupBoxImage.ForeColor = Color.White;
+ uiGroupBoxImage.Location = new Point(12, 12);
+ uiGroupBoxImage.Margin = new Padding(4, 5, 4, 5);
+ uiGroupBoxImage.Name = "uiGroupBoxImage";
+ uiGroupBoxImage.Padding = new Padding(4, 5, 4, 5);
+ uiGroupBoxImage.Size = new Size(400, 400);
+ uiGroupBoxImage.TabIndex = 0;
+ uiGroupBoxImage.TabStop = false;
+ uiGroupBoxImage.Text = "鍥惧儚棰勮";
+ //
+ // uiGroupBoxControl
+ //
+ uiGroupBoxControl.BackColor = Color.FromArgb(32, 41, 50);
+ uiGroupBoxControl.Controls.Add(uiButtonSoftTrigger);
+ uiGroupBoxControl.Controls.Add(uiButtonStopGrabbing);
+ uiGroupBoxControl.Controls.Add(uiButtonStartGrabbing);
+ uiGroupBoxControl.Controls.Add(uiRadioButtonHardTrigger);
+ uiGroupBoxControl.Controls.Add(uiRadioButtonSoftTrigger);
+ uiGroupBoxControl.Controls.Add(uiComboBoxBrand);
+ uiGroupBoxControl.Controls.Add(uiLabel1);
+ uiGroupBoxControl.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiGroupBoxControl.ForeColor = Color.White;
+ uiGroupBoxControl.Location = new Point(430, 12);
+ uiGroupBoxControl.Margin = new Padding(4, 5, 4, 5);
+ uiGroupBoxControl.Name = "uiGroupBoxControl";
+ uiGroupBoxControl.Padding = new Padding(4, 5, 4, 5);
+ uiGroupBoxControl.Size = new Size(350, 200);
+ uiGroupBoxControl.TabIndex = 1;
+ uiGroupBoxControl.TabStop = false;
+ uiGroupBoxControl.Text = "鎺у埗闈㈡澘";
+ //
+ // uiGroupBoxResult
+ //
+ uiGroupBoxResult.BackColor = Color.FromArgb(32, 41, 50);
+ uiGroupBoxResult.Controls.Add(uiButtonClear);
+ uiGroupBoxResult.Controls.Add(uiLabel2);
+ uiGroupBoxResult.Controls.Add(uiTextBoxResult);
+ uiGroupBoxResult.Controls.Add(uiListBoxBarcodes);
+ uiGroupBoxResult.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiGroupBoxResult.ForeColor = Color.White;
+ uiGroupBoxResult.Location = new Point(430, 230);
+ uiGroupBoxResult.Margin = new Padding(4, 5, 4, 5);
+ uiGroupBoxResult.Name = "uiGroupBoxResult";
+ uiGroupBoxResult.Padding = new Padding(4, 5, 4, 5);
+ uiGroupBoxResult.Size = new Size(350, 280);
+ uiGroupBoxResult.TabIndex = 2;
+ uiGroupBoxResult.TabStop = false;
+ uiGroupBoxResult.Text = "璇荤爜缁撴灉";
+ //
+ // uiComboBoxBrand
+ //
+ uiComboBoxBrand.DropDownStyle = ComboBoxStyle.DropDownList;
+ uiComboBoxBrand.FormattingEnabled = true;
+ uiComboBoxBrand.Location = new Point(90, 50);
+ uiComboBoxBrand.Name = "uiComboBoxBrand";
+ uiComboBoxBrand.Size = new Size(150, 28);
+ uiComboBoxBrand.TabIndex = 0;
+ //
+ // uiLabel1
+ //
+ uiLabel1.Location = new Point(15, 50);
+ uiLabel1.Name = "uiLabel1";
+ uiLabel1.Size = new Size(70, 29);
+ uiLabel1.TabIndex = 1;
+ uiLabel1.Text = "鍝佺墝:";
+ uiLabel1.TextAlign = ContentAlignment.MiddleRight;
+ //
+ // uiRadioButtonSoftTrigger
+ //
+ uiRadioButtonSoftTrigger.Checked = true;
+ uiRadioButtonSoftTrigger.Location = new Point(20, 90);
+ uiRadioButtonSoftTrigger.Name = "uiRadioButtonSoftTrigger";
+ uiRadioButtonSoftTrigger.Size = new Size(100, 29);
+ uiRadioButtonSoftTrigger.TabIndex = 2;
+ uiRadioButtonSoftTrigger.TabStop = true;
+ uiRadioButtonSoftTrigger.Text = "杞Е鍙�";
+ uiRadioButtonSoftTrigger.UseVisualStyleBackColor = true;
+ uiRadioButtonSoftTrigger.CheckedChanged += uiRadioButtonSoftTrigger_CheckedChanged;
+ //
+ // uiRadioButtonHardTrigger
+ //
+ uiRadioButtonHardTrigger.Location = new Point(140, 90);
+ uiRadioButtonHardTrigger.Name = "uiRadioButtonHardTrigger";
+ uiRadioButtonHardTrigger.Size = new Size(100, 29);
+ uiRadioButtonHardTrigger.TabIndex = 3;
+ uiRadioButtonHardTrigger.Text = "纭Е鍙�";
+ uiRadioButtonHardTrigger.UseVisualStyleBackColor = true;
+ //
+ // uiButtonStartGrabbing
+ //
+ uiButtonStartGrabbing.BackColor = Color.FromArgb(0, 150, 136);
+ uiButtonStartGrabbing.ForeColor = Color.White;
+ uiButtonStartGrabbing.Location = new Point(20, 140);
+ uiButtonStartGrabbing.Name = "uiButtonStartGrabbing";
+ uiButtonStartGrabbing.Size = new Size(100, 35);
+ uiButtonStartGrabbing.TabIndex = 4;
+ uiButtonStartGrabbing.Text = "寮�濮嬮噰闆�";
+ uiButtonStartGrabbing.UseVisualStyleBackColor = false;
+ uiButtonStartGrabbing.Click += uiButtonStartGrabbing_Click;
+ //
+ // uiButtonStopGrabbing
+ //
+ uiButtonStopGrabbing.BackColor = Color.FromArgb(255, 87, 34);
+ uiButtonStopGrabbing.Enabled = false;
+ uiButtonStopGrabbing.ForeColor = Color.White;
+ uiButtonStopGrabbing.Location = new Point(140, 140);
+ uiButtonStopGrabbing.Name = "uiButtonStopGrabbing";
+ uiButtonStopGrabbing.Size = new Size(100, 35);
+ uiButtonStopGrabbing.TabIndex = 5;
+ uiButtonStopGrabbing.Text = "鍋滄閲囬泦";
+ uiButtonStopGrabbing.UseVisualStyleBackColor = false;
+ uiButtonStopGrabbing.Click += uiButtonStopGrabbing_Click;
+ //
+ // uiButtonSoftTrigger
+ //
+ uiButtonSoftTrigger.BackColor = Color.FromArgb(64, 158, 255);
+ uiButtonSoftTrigger.ForeColor = Color.White;
+ uiButtonSoftTrigger.Location = new Point(260, 140);
+ uiButtonSoftTrigger.Name = "uiButtonSoftTrigger";
+ uiButtonSoftTrigger.Size = new Size(75, 35);
+ uiButtonSoftTrigger.TabIndex = 6;
+ uiButtonSoftTrigger.Text = "瑙﹀彂";
+ uiButtonSoftTrigger.UseVisualStyleBackColor = false;
+ uiButtonSoftTrigger.Click += uiButtonSoftTrigger_Click;
+ //
+ // uiListBoxBarcodes
+ //
+ uiListBoxBarcodes.FormattingEnabled = true;
+ uiListBoxBarcodes.ItemHeight = 20;
+ uiListBoxBarcodes.Location = new Point(15, 35);
+ uiListBoxBarcodes.Name = "uiListBoxBarcodes";
+ uiListBoxBarcodes.Size = new Size(320, 164);
+ uiListBoxBarcodes.TabIndex = 0;
+ //
+ // uiTextBoxResult
+ //
+ uiTextBoxResult.Location = new Point(90, 210);
+ uiTextBoxResult.Name = "uiTextBoxResult";
+ uiTextBoxResult.ReadOnly = true;
+ uiTextBoxResult.Size = new Size(160, 26);
+ uiTextBoxResult.TabIndex = 1;
+ //
+ // uiLabel2
+ //
+ uiLabel2.Location = new Point(15, 210);
+ uiLabel2.Name = "uiLabel2";
+ uiLabel2.Size = new Size(70, 29);
+ uiLabel2.TabIndex = 2;
+ uiLabel2.Text = "鐘舵��:";
+ uiLabel2.TextAlign = ContentAlignment.MiddleRight;
+ //
+ // uiButtonClear
+ //
+ uiButtonClear.BackColor = Color.FromArgb(64, 158, 255);
+ uiButtonClear.ForeColor = Color.White;
+ uiButtonClear.Location = new Point(260, 208);
+ uiButtonClear.Name = "uiButtonClear";
+ uiButtonClear.Size = new Size(75, 30);
+ uiButtonClear.TabIndex = 3;
+ uiButtonClear.Text = "娓呯┖";
+ uiButtonClear.UseVisualStyleBackColor = false;
+ uiButtonClear.Click += uiButtonClear_Click;
+ //
+ // BarcodeReaderForm
+ //
+ AutoScaleDimensions = new SizeF(7F, 17F);
+ AutoScaleMode = AutoScaleMode.Font;
+ BackColor = Color.FromArgb(32, 41, 50);
+ ClientSize = new Size(800, 530);
+ Controls.Add(uiGroupBoxResult);
+ Controls.Add(uiGroupBoxControl);
+ Controls.Add(uiGroupBoxImage);
+ Name = "BarcodeReaderForm";
+ StartPosition = FormStartPosition.CenterScreen;
+ Text = "璇荤爜鍣ㄦ祴璇�";
+ FormClosing += BarcodeReaderForm_FormClosing;
+ uiGroupBoxImage.ResumeLayout(false);
+ uiGroupBoxControl.ResumeLayout(false);
+ uiGroupBoxResult.ResumeLayout(false);
+ uiGroupBoxResult.PerformLayout();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private GroupBox uiGroupBoxImage;
+ private GroupBox uiGroupBoxControl;
+ private GroupBox uiGroupBoxResult;
+ private ComboBox uiComboBoxBrand;
+ private Label uiLabel1;
+ private RadioButton uiRadioButtonSoftTrigger;
+ private RadioButton uiRadioButtonHardTrigger;
+ private Button uiButtonStartGrabbing;
+ private Button uiButtonStopGrabbing;
+ private Button uiButtonSoftTrigger;
+ private ListBox uiListBoxBarcodes;
+ private TextBox uiTextBoxResult;
+ private Label uiLabel2;
+ private Button uiButtonClear;
+ }
+}
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.cs b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.cs
new file mode 100644
index 0000000..66da515
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.cs
@@ -0,0 +1,207 @@
+using LB_VisionProcesses.BarcodeReaders;
+using System;
+using System.Diagnostics;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace LB_SmartVision.Forms.Pages.BarcodeReaderPage
+{
+ public partial class BarcodeReaderForm : Form
+ {
+ BarcodeReaderBase barcodeReader { get; set; }
+ PictureBox pictureBox1 { get; set; }
+
+ public BarcodeReaderForm()
+ {
+ InitializeComponent();
+ }
+
+ public BarcodeReaderForm(BarcodeReaderBase reader)
+ {
+ InitializeComponent();
+
+ // 鍒涘缓鍥惧儚鏄剧ず鎺т欢
+ pictureBox1 = new PictureBox();
+ pictureBox1.Dock = DockStyle.Fill;
+ pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
+ uiGroupBoxImage.Controls.Add(pictureBox1);
+
+ if (reader == null)
+ return;
+
+ this.barcodeReader = reader;
+ this.Text = reader.SN;
+
+ // 娣诲姞鍝佺墝閫夐」
+ foreach (BarcodeReaderBrand brand in Enum.GetValues(typeof(BarcodeReaderBrand)))
+ {
+ if (brand != BarcodeReaderBrand.Unsupported)
+ uiComboBoxBrand.Items.Add(brand.ToString());
+ }
+
+ // 璁剧疆鍝佺墝
+ uiComboBoxBrand.Text = reader.Brand.ToString();
+
+ // 鍔犺浇鍥炶皟鍑芥暟
+ Subscribe();
+ }
+
+ private void BarcodeReaderForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ if (barcodeReader == null)
+ return;
+
+ barcodeReader.StopGrabbing();
+ Unsubscribe();
+ }
+
+ public void Unsubscribe()
+ {
+ try
+ {
+ if (barcodeReader == null)
+ return;
+ // 鍙栨秷鍥炶皟鍑芥暟
+ barcodeReader.BarcodeRead -= OnBarcodeRead;
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍閿欒淇℃伅
+ Debug.WriteLine($"閿欒: {ex.Message}");
+ }
+ }
+
+ public void Subscribe()
+ {
+ try
+ {
+ if (barcodeReader == null)
+ return;
+
+ // 鍙栨秷鍥炶皟鍑芥暟
+ barcodeReader.BarcodeRead -= OnBarcodeRead;
+ // 鍔犺浇鍥炶皟鍑芥暟
+ barcodeReader.BarcodeRead += OnBarcodeRead;
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍閿欒淇℃伅
+ Debug.WriteLine($"閿欒: {ex.Message}");
+ }
+ }
+
+ private void OnBarcodeRead(object sender, BarcodeEventArgs e)
+ {
+ if (e.Barcodes == null || e.Barcodes.Count == 0)
+ return;
+
+ if (this.InvokeRequired)
+ {
+ this.Invoke(new Action(() =>
+ {
+ DisplayBarcodeResult(e);
+ }));
+ }
+ else
+ {
+ DisplayBarcodeResult(e);
+ }
+ }
+
+ private void DisplayBarcodeResult(BarcodeEventArgs e)
+ {
+ uiListBoxBarcodes.Items.Clear();
+ if (e.BarcodeInfos != null && e.BarcodeInfos.Count > 0)
+ {
+ foreach (var info in e.BarcodeInfos)
+ {
+ uiListBoxBarcodes.Items.Add(info.Text);
+ }
+ }
+
+ if (e.Image != null)
+ {
+ // 鍒涘缓鍥惧儚鍓湰杩涜缁樺埗
+ Bitmap drawImg = new Bitmap(e.Image);
+ using (Graphics g = Graphics.FromImage(drawImg))
+ {
+ g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
+ using (Pen pen = new Pen(Color.LimeGreen, 3))
+ using (SolidBrush brush = new SolidBrush(Color.LimeGreen))
+ using (Font font = new Font("Arial", 16, FontStyle.Bold))
+ {
+ foreach (var info in e.BarcodeInfos)
+ {
+ if (info.Points != null && info.Points.Length >= 4)
+ {
+ // 缁樺埗妗嗙嚎
+ g.DrawPolygon(pen, info.Points);
+ // 缁樺埗鏂囨湰
+ Point textPos = info.Points[0];
+ textPos.Y -= 25;
+ g.DrawString(info.Text, font, brush, textPos);
+ }
+ }
+ }
+ }
+
+ // 閲婃斁鏃у浘鍍�
+ var oldImg = pictureBox1.Image;
+ pictureBox1.Image = drawImg;
+ oldImg?.Dispose();
+ }
+
+ uiTextBoxResult.Text = $"璇诲彇鍒皗e.BarcodeInfos.Count}涓潯鐮�";
+ }
+
+ private void uiRadioButtonSoftTrigger_CheckedChanged(object sender, EventArgs e)
+ {
+ uiButtonSoftTrigger.Enabled = uiRadioButtonSoftTrigger.Checked;
+
+ if (barcodeReader == null)
+ return;
+
+ barcodeReader.SetTriggerMode(uiRadioButtonSoftTrigger.Checked);
+ }
+
+ private void uiButtonStartGrabbing_Click(object sender, EventArgs e)
+ {
+ if (barcodeReader == null)
+ return;
+
+ if (barcodeReader.StartGrabbing())
+ {
+ uiButtonStartGrabbing.Enabled = false;
+ uiButtonStopGrabbing.Enabled = true;
+ }
+ }
+
+ private void uiButtonStopGrabbing_Click(object sender, EventArgs e)
+ {
+ if (barcodeReader == null)
+ return;
+
+ if (barcodeReader.StopGrabbing())
+ {
+ uiButtonStartGrabbing.Enabled = true;
+ uiButtonStopGrabbing.Enabled = false;
+ }
+ }
+
+ private void uiButtonSoftTrigger_Click(object sender, EventArgs e)
+ {
+ if (barcodeReader == null)
+ return;
+
+ barcodeReader.SoftTrigger();
+ }
+
+ private void uiButtonClear_Click(object sender, EventArgs e)
+ {
+ uiListBoxBarcodes.Items.Clear();
+ uiTextBoxResult.Text = "";
+ if (pictureBox1 != null)
+ pictureBox1.Image = null;
+ }
+ }
+}
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.resx b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReaderForm.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
\ No newline at end of file
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.Designer.cs
new file mode 100644
index 0000000..4f738aa
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.Designer.cs
@@ -0,0 +1,152 @@
+using ReaLTaiizor.Controls;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace LB_SmartVision.Forms.Pages.BarcodeReaderPage
+{
+ partial class BarcodeReadersEditPage
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ uiButton1 = new HopeButton();
+ uiButton2 = new LostButton();
+ uiFlowLayoutPanel1 = new FlowLayoutPanel();
+ tableLayoutPanel1 = new TableLayoutPanel();
+ tableLayoutPanel2 = new TableLayoutPanel();
+ tableLayoutPanel1.SuspendLayout();
+ tableLayoutPanel2.SuspendLayout();
+ SuspendLayout();
+ //
+ // uiButton1
+ //
+ uiButton1.BorderColor = Color.FromArgb(220, 223, 230);
+ uiButton1.ButtonType = ReaLTaiizor.Util.HopeButtonType.Primary;
+ uiButton1.Cursor = Cursors.Hand;
+ uiButton1.DangerColor = Color.FromArgb(245, 108, 108);
+ uiButton1.DefaultColor = Color.FromArgb(255, 255, 255);
+ uiButton1.Dock = DockStyle.Fill;
+ uiButton1.Font = new Font("瀹嬩綋", 12F);
+ uiButton1.HoverTextColor = Color.FromArgb(48, 49, 51);
+ uiButton1.InfoColor = Color.FromArgb(144, 147, 153);
+ uiButton1.Location = new Point(503, 3);
+ uiButton1.MinimumSize = new Size(1, 1);
+ uiButton1.Name = "uiButton1";
+ uiButton1.PrimaryColor = Color.FromArgb(64, 158, 255);
+ uiButton1.Size = new Size(95, 38);
+ uiButton1.SuccessColor = Color.FromArgb(103, 194, 58);
+ uiButton1.TabIndex = 11;
+ uiButton1.Text = "鏂板";
+ uiButton1.TextColor = Color.White;
+ uiButton1.WarningColor = Color.FromArgb(230, 162, 60);
+ uiButton1.Click += uiButton1_Click;
+ //
+ // uiButton2
+ //
+ uiButton2.BackColor = Color.FromArgb(39, 41, 60);
+ uiButton2.Cursor = Cursors.Hand;
+ uiButton2.Dock = DockStyle.Fill;
+ uiButton2.Font = new Font("瀹嬩綋", 12F);
+ uiButton2.ForeColor = Color.White;
+ uiButton2.HoverColor = Color.DodgerBlue;
+ uiButton2.Image = null;
+ uiButton2.Location = new Point(403, 3);
+ uiButton2.MinimumSize = new Size(1, 1);
+ uiButton2.Name = "uiButton2";
+ uiButton2.Size = new Size(94, 38);
+ uiButton2.TabIndex = 12;
+ uiButton2.Text = "鍏ㄩ儴娓呴櫎";
+ uiButton2.Click += uiButton2_Click;
+ //
+ // uiFlowLayoutPanel1
+ //
+ uiFlowLayoutPanel1.BackColor = Color.FromArgb(32, 41, 50);
+ uiFlowLayoutPanel1.Dock = DockStyle.Fill;
+ uiFlowLayoutPanel1.Font = new Font("瀹嬩綋", 12F);
+ uiFlowLayoutPanel1.ForeColor = SystemColors.Control;
+ uiFlowLayoutPanel1.Location = new Point(4, 5);
+ uiFlowLayoutPanel1.Margin = new Padding(4, 5, 4, 5);
+ uiFlowLayoutPanel1.MinimumSize = new Size(1, 1);
+ uiFlowLayoutPanel1.Name = "uiFlowLayoutPanel1";
+ uiFlowLayoutPanel1.Padding = new Padding(2);
+ uiFlowLayoutPanel1.Size = new Size(599, 293);
+ uiFlowLayoutPanel1.TabIndex = 10;
+ //
+ // tableLayoutPanel1
+ //
+ tableLayoutPanel1.ColumnCount = 1;
+ tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel1.Controls.Add(uiFlowLayoutPanel1, 0, 0);
+ tableLayoutPanel1.Controls.Add(tableLayoutPanel2, 0, 1);
+ tableLayoutPanel1.Dock = DockStyle.Fill;
+ tableLayoutPanel1.Location = new Point(0, 0);
+ tableLayoutPanel1.Name = "tableLayoutPanel1";
+ tableLayoutPanel1.RowCount = 2;
+ tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
+ tableLayoutPanel1.Size = new Size(607, 353);
+ tableLayoutPanel1.TabIndex = 13;
+ //
+ // tableLayoutPanel2
+ //
+ tableLayoutPanel2.ColumnCount = 6;
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 16.666666F));
+ tableLayoutPanel2.Controls.Add(uiButton1, 5, 0);
+ tableLayoutPanel2.Controls.Add(uiButton2, 4, 0);
+ tableLayoutPanel2.Dock = DockStyle.Fill;
+ tableLayoutPanel2.Location = new Point(3, 306);
+ tableLayoutPanel2.Name = "tableLayoutPanel2";
+ tableLayoutPanel2.RowCount = 1;
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel2.Size = new Size(601, 44);
+ tableLayoutPanel2.TabIndex = 11;
+ //
+ // BarcodeReadersEditPage
+ //
+ BackColor = Color.FromArgb(32, 41, 50);
+ Controls.Add(tableLayoutPanel1);
+ Name = "BarcodeReadersEditPage";
+ Size = new Size(607, 353);
+ Paint += BarcodeReadersEditPage_Paint;
+ tableLayoutPanel1.ResumeLayout(false);
+ tableLayoutPanel2.ResumeLayout(false);
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private HopeButton uiButton1;
+ private LostButton uiButton2;
+ private FlowLayoutPanel uiFlowLayoutPanel1;
+ private TableLayoutPanel tableLayoutPanel1;
+ private TableLayoutPanel tableLayoutPanel2;
+ }
+}
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.cs b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.cs
new file mode 100644
index 0000000..1f27f89
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.cs
@@ -0,0 +1,226 @@
+using LB_VisionControls;
+using LB_VisionProcesses.BarcodeReaders;
+using LB_VisionProcesses.BarcodeReaders.Huayray;
+using System;
+using System.Collections.Concurrent;
+using System.Windows.Forms;
+
+namespace LB_SmartVision.Forms.Pages.BarcodeReaderPage
+{
+ public partial class BarcodeReadersEditPage : UserControl
+ {
+ public Action<string, LogInfoType> LogInfo;
+
+
+ public BarcodeReadersEditPage()
+ {
+ InitializeComponent();
+
+ Name = "BarcodeReadersEditPage";
+ Text = "璇荤爜鍣ㄨ缃�";
+ }
+
+ private void BarcodeReadersEditPage_Paint(object sender, PaintEventArgs e)
+ {
+ uiFlowLayoutPanel1.Controls.Clear();
+
+ if (GlobalVar.dicBarcodeReaders.Count <= 0)
+ return;
+
+ foreach (var item in GlobalVar.dicBarcodeReaders)
+ {
+ string ReaderSN = item.Key;
+ string ReaderBrand = item.Value.Brand.ToString();
+
+ if (string.IsNullOrEmpty(ReaderSN) || string.IsNullOrEmpty(ReaderBrand))
+ continue;
+
+ UserItem flow = new UserItem(new string[] { "娴嬭瘯", "鍒锋柊", "绉婚櫎" });
+ flow.Name = ReaderSN;
+ flow.Text = $"[{ReaderBrand}] {ReaderSN}";
+ if (item.Value.IsConnected)
+ flow.state = State.Pass;
+ else
+ flow.state = State.Error;
+ LoadFlowEvent(flow);
+
+ uiFlowLayoutPanel1.Controls.Add(flow);
+ }
+ }
+
+
+ private void uiButton1_Click(object sender, System.EventArgs e)
+ {
+ CreateBarcodeReaderForm createForm = new CreateBarcodeReaderForm();
+ createForm.ShowDialog();
+
+ if (createForm.bCreate)
+ {
+ BarcodeReaderBase reader = createForm.barcodeReader;
+ if (GlobalVar.dicBarcodeReaders.ContainsKey(reader.SN))
+ {
+ MessageBox.Show($"璇荤爜鍣╗{reader.SN}]宸插瓨鍦�!", "寮傚父");
+ return;
+ }
+
+ string ReaderSN = reader.SN;
+ string ReaderBrand = reader.Brand.ToString();
+
+ if (string.IsNullOrEmpty(ReaderSN) || string.IsNullOrEmpty(ReaderBrand))
+ return;
+
+ GlobalVar.dicBarcodeReaders.TryAdd(ReaderSN, reader);
+ LogInfo?.Invoke(string.Format("娣诲姞璇荤爜鍣╗{0}][{1}]鎴愬姛", ReaderBrand, ReaderSN), LogInfoType.PASS);
+ }
+ this.Invalidate();
+ }
+
+ private void uiButton2_Click(object sender, System.EventArgs e)
+ {
+ //娓呴櫎鐢–lear鏂规硶
+ uiFlowLayoutPanel1.Controls.Clear();
+ foreach (var reader in GlobalVar.dicBarcodeReaders.Values)
+ {
+ reader.Dispose();
+ }
+ GlobalVar.dicBarcodeReaders.Clear();
+ }
+
+ private void LoadFlowEvent(UserItem flow)
+ {
+ //鎸夐敭1涓烘祴璇�
+ flow.MenuItem1ClickedEvent += TestEvent;
+ //鎸夐敭2涓哄埛鏂�
+ flow.MenuItem2ClickedEvent += ReconnectEvent;
+ //鎸夐敭3涓虹Щ闄�
+ flow.MenuItem3ClickedEvent += DeleteEvent;
+ }
+
+ private void RemoveFlowEvent(UserItem flow)
+ {
+ //鎸夐敭1涓烘祴璇�
+ flow.MenuItem1ClickedEvent -= TestEvent;
+ //鎸夐敭2涓哄埛鏂�
+ flow.MenuItem2ClickedEvent -= ReconnectEvent;
+ //鎸夐敭3涓虹Щ闄�
+ flow.MenuItem3ClickedEvent -= DeleteEvent;
+ }
+
+ // 娴嬭瘯璇荤爜鍣�
+ private void TestEvent(string Name, string Text)
+ {
+ for (int i = 0; i < uiFlowLayoutPanel1.Controls.Count; i++)
+ {
+ UserItem flow = (UserItem)uiFlowLayoutPanel1.Controls[i];
+ string name = flow.Name;
+ if (name != Name)
+ continue;
+
+ if (GlobalVar.dicBarcodeReaders.ContainsKey(name))
+ {
+ BarcodeReaderForm readerForm = new BarcodeReaderForm(GlobalVar.dicBarcodeReaders[name]);
+ readerForm.Show();
+ }
+ }
+ }
+
+ // 绉婚櫎璇荤爜鍣�
+ private void DeleteEvent(string Name, string Text)
+ {
+ for (int i = 0; i < uiFlowLayoutPanel1.Controls.Count; i++)
+ {
+ UserItem flow = (UserItem)uiFlowLayoutPanel1.Controls[i];
+ string name = flow.Name;
+ if (name != Name)
+ continue;
+
+ RemoveFlowEvent(flow);
+ uiFlowLayoutPanel1.Controls.Remove(uiFlowLayoutPanel1.Controls[i]);
+ if (GlobalVar.dicBarcodeReaders.TryRemove(name, out BarcodeReaderBase barcodeReader))
+ {
+ barcodeReader.Dispose();
+ LogInfo?.Invoke(string.Format("绉婚櫎璇荤爜鍣╗{0}]", name), LogInfoType.INFO);
+ }
+ else
+ LogInfo?.Invoke(string.Format("绉婚櫎璇荤爜鍣╗{0}]澶辫触", name), LogInfoType.ERROR);
+
+ }
+ }
+
+ // 閲嶈繛璇荤爜鍣�
+ private void ReconnectEvent(string Name, string Text)
+ {
+ for (int i = 0; i < uiFlowLayoutPanel1.Controls.Count; i++)
+ {
+ UserItem flow = (UserItem)uiFlowLayoutPanel1.Controls[i];
+ string name = flow.Name;
+ if (name != Name)
+ continue;
+
+ if (!GlobalVar.dicBarcodeReaders.ContainsKey(name))
+ {
+ LogInfo?.Invoke(string.Format("璇荤爜鍣╗{0}]涓嶅瓨鍦�", name), LogInfoType.ERROR);
+ flow.state = State.Error;
+ flow.Refresh();
+ return;
+ }
+
+ var reader = GlobalVar.dicBarcodeReaders[name];
+ if (reader == null)
+ {
+ LogInfo?.Invoke(string.Format("璇荤爜鍣╗{0}]瀹炰緥涓虹┖", name), LogInfoType.ERROR);
+ flow.state = State.Error;
+ flow.Refresh();
+ return;
+ }
+
+ try
+ {
+ // 鍏堥噴鏀炬棫瀹炰緥鐨勮祫婧�
+ reader.Dispose();
+
+ // 娣诲姞鐭殏寤惰繜锛岀‘淇漇DK搴曞眰璧勬簮瀹屽叏閲婃斁
+ System.Threading.Thread.Sleep(500);
+
+ // 寮哄埗鍨冨溇鍥炴敹锛岀‘淇濈浉鏈哄璞¤瀹屽叏閲婃斁
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ GC.Collect();
+
+ // 浠庡瓧鍏镐腑绉婚櫎鏃у疄渚�
+ GlobalVar.dicBarcodeReaders.TryRemove(name, out _);
+
+ // 鍒涘缓鏂板疄渚�
+ BarcodeReaderBase newReader = null;
+ switch (reader.Brand)
+ {
+ case BarcodeReaderBrand.Huayray:
+ newReader = new HRBarcodeReader();
+ break;
+ default:
+ throw new Exception($"涓嶆敮鎸佺殑璇荤爜鍣ㄥ搧鐗�: {reader.Brand}");
+ }
+
+ if (newReader.Open(name))
+ {
+ // 娣诲姞鍒板瓧鍏�
+ GlobalVar.dicBarcodeReaders.TryAdd(name, newReader);
+ flow.state = State.Pass;
+ LogInfo?.Invoke(string.Format("閲嶈繛璇荤爜鍣╗{0}]鎴愬姛", name), LogInfoType.PASS);
+ }
+ else
+ {
+ flow.state = State.Error;
+ LogInfo?.Invoke(string.Format("璇荤爜鍣╗{0}]閲嶆柊鍒涘缓鍚庝粛杩炴帴澶辫触", name), LogInfoType.ERROR);
+ }
+ }
+ catch (Exception ex)
+ {
+ flow.state = State.Error;
+ LogInfo?.Invoke(string.Format("閲嶈繛璇荤爜鍣╗{0}]寮傚父: {1}", name, ex.Message), LogInfoType.ERROR);
+ }
+ flow.Refresh();
+ }
+ }
+ }
+}
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.resx b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/BarcodeReadersEditPage.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
\ No newline at end of file
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.Designer.cs b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.Designer.cs
new file mode 100644
index 0000000..c359fe6
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.Designer.cs
@@ -0,0 +1,178 @@
+using ReaLTaiizor.Controls;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace LB_SmartVision.Forms.Pages.BarcodeReaderPage
+{
+ partial class CreateBarcodeReaderForm
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ uiComboBoxBrand = new ComboBox();
+ uiComboBoxSN = new ComboBox();
+ uiLabel1 = new Label();
+ uiLabel2 = new Label();
+ uiButtonTest = new HopeButton();
+ uiButtonCreate = new HopeButton();
+ uiButtonCancel = new LostButton();
+ SuspendLayout();
+ //
+ // uiComboBoxBrand
+ //
+ uiComboBoxBrand.DropDownStyle = ComboBoxStyle.DropDownList;
+ uiComboBoxBrand.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiComboBoxBrand.FormattingEnabled = true;
+ uiComboBoxBrand.Location = new Point(127, 30);
+ uiComboBoxBrand.Name = "uiComboBoxBrand";
+ uiComboBoxBrand.Size = new Size(200, 28);
+ uiComboBoxBrand.TabIndex = 0;
+ uiComboBoxBrand.MouseClick += uiComboBoxBrand_MouseClick;
+ uiComboBoxBrand.SelectedIndexChanged += uiComboBoxBrand_SelectedIndexChanged;
+ //
+ // uiComboBoxSN
+ //
+ uiComboBoxSN.DropDownStyle = ComboBoxStyle.DropDownList;
+ uiComboBoxSN.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiComboBoxSN.FormattingEnabled = true;
+ uiComboBoxSN.Location = new Point(127, 80);
+ uiComboBoxSN.Name = "uiComboBoxSN";
+ uiComboBoxSN.Size = new Size(200, 28);
+ uiComboBoxSN.TabIndex = 1;
+ uiComboBoxSN.MouseClick += uiComboBoxSN_MouseClick;
+ //
+ // uiLabel1
+ //
+ uiLabel1.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiLabel1.ForeColor = Color.White;
+ uiLabel1.Location = new Point(25, 30);
+ uiLabel1.Name = "uiLabel1";
+ uiLabel1.Size = new Size(100, 29);
+ uiLabel1.TabIndex = 2;
+ uiLabel1.Text = "鍝佺墝:";
+ uiLabel1.TextAlign = ContentAlignment.MiddleRight;
+ //
+ // uiLabel2
+ //
+ uiLabel2.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiLabel2.ForeColor = Color.White;
+ uiLabel2.Location = new Point(25, 80);
+ uiLabel2.Name = "uiLabel2";
+ uiLabel2.Size = new Size(100, 29);
+ uiLabel2.TabIndex = 3;
+ uiLabel2.Text = "搴忓垪鍙�:";
+ uiLabel2.TextAlign = ContentAlignment.MiddleRight;
+ //
+ // uiButtonTest
+ //
+ uiButtonTest.BorderColor = Color.FromArgb(220, 223, 230);
+ uiButtonTest.ButtonType = ReaLTaiizor.Util.HopeButtonType.Primary;
+ uiButtonTest.Cursor = Cursors.Hand;
+ uiButtonTest.DangerColor = Color.FromArgb(245, 108, 108);
+ uiButtonTest.DefaultColor = Color.FromArgb(255, 255, 255);
+ uiButtonTest.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiButtonTest.HoverTextColor = Color.FromArgb(48, 49, 51);
+ uiButtonTest.InfoColor = Color.FromArgb(144, 147, 153);
+ uiButtonTest.Location = new Point(350, 52);
+ uiButtonTest.MinimumSize = new Size(1, 1);
+ uiButtonTest.Name = "uiButtonTest";
+ uiButtonTest.PrimaryColor = Color.FromArgb(64, 158, 255);
+ uiButtonTest.Size = new Size(100, 35);
+ uiButtonTest.SuccessColor = Color.FromArgb(103, 194, 58);
+ uiButtonTest.TabIndex = 4;
+ uiButtonTest.Text = "娴嬭瘯杩炴帴";
+ uiButtonTest.TextColor = Color.White;
+ uiButtonTest.WarningColor = Color.FromArgb(230, 162, 60);
+ uiButtonTest.Click += uiButtonTest_Click;
+ //
+ // uiButtonCreate
+ //
+ uiButtonCreate.BorderColor = Color.FromArgb(220, 223, 230);
+ uiButtonCreate.ButtonType = ReaLTaiizor.Util.HopeButtonType.Primary;
+ uiButtonCreate.Cursor = Cursors.Hand;
+ uiButtonCreate.DangerColor = Color.FromArgb(245, 108, 108);
+ uiButtonCreate.DefaultColor = Color.FromArgb(255, 255, 255);
+ uiButtonCreate.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiButtonCreate.HoverTextColor = Color.FromArgb(48, 49, 51);
+ uiButtonCreate.InfoColor = Color.FromArgb(144, 147, 153);
+ uiButtonCreate.Location = new Point(127, 140);
+ uiButtonCreate.MinimumSize = new Size(1, 1);
+ uiButtonCreate.Name = "uiButtonCreate";
+ uiButtonCreate.PrimaryColor = Color.FromArgb(0, 150, 136);
+ uiButtonCreate.Size = new Size(100, 35);
+ uiButtonCreate.SuccessColor = Color.FromArgb(103, 194, 58);
+ uiButtonCreate.TabIndex = 5;
+ uiButtonCreate.Text = "鍒涘缓";
+ uiButtonCreate.TextColor = Color.White;
+ uiButtonCreate.WarningColor = Color.FromArgb(230, 162, 60);
+ uiButtonCreate.Click += uiButtonCreate_Click;
+ //
+ // uiButtonCancel
+ //
+ uiButtonCancel.BackColor = Color.FromArgb(39, 41, 60);
+ uiButtonCancel.Cursor = Cursors.Hand;
+ uiButtonCancel.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point, 134);
+ uiButtonCancel.ForeColor = Color.White;
+ uiButtonCancel.HoverColor = Color.DodgerBlue;
+ uiButtonCancel.Image = null;
+ uiButtonCancel.Location = new Point(245, 140);
+ uiButtonCancel.MinimumSize = new Size(1, 1);
+ uiButtonCancel.Name = "uiButtonCancel";
+ uiButtonCancel.Size = new Size(100, 35);
+ uiButtonCancel.TabIndex = 6;
+ uiButtonCancel.Text = "鍙栨秷";
+ uiButtonCancel.Click += uiButtonCancel_Click;
+ //
+ // CreateBarcodeReaderForm
+ //
+ AutoScaleDimensions = new SizeF(7F, 17F);
+ AutoScaleMode = AutoScaleMode.Font;
+ BackColor = Color.FromArgb(32, 41, 50);
+ ClientSize = new Size(484, 211);
+ Controls.Add(uiButtonCancel);
+ Controls.Add(uiButtonCreate);
+ Controls.Add(uiButtonTest);
+ Controls.Add(uiLabel2);
+ Controls.Add(uiLabel1);
+ Controls.Add(uiComboBoxSN);
+ Controls.Add(uiComboBoxBrand);
+ Name = "CreateBarcodeReaderForm";
+ StartPosition = FormStartPosition.CenterParent;
+ Text = "娣诲姞璇荤爜鍣�";
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private ComboBox uiComboBoxBrand;
+ private ComboBox uiComboBoxSN;
+ private Label uiLabel1;
+ private Label uiLabel2;
+ private HopeButton uiButtonTest;
+ private HopeButton uiButtonCreate;
+ private LostButton uiButtonCancel;
+ }
+}
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.cs b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.cs
new file mode 100644
index 0000000..363e9df
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.cs
@@ -0,0 +1,117 @@
+using LB_VisionProcesses.BarcodeReaders;
+using LB_VisionProcesses.BarcodeReaders.Huayray;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace LB_SmartVision.Forms.Pages.BarcodeReaderPage
+{
+ public partial class CreateBarcodeReaderForm : Form
+ {
+ public BarcodeReaderBase barcodeReader { get; set; }
+ public bool bCreate = false;
+
+ public CreateBarcodeReaderForm(BarcodeReaderBase reader = null)
+ {
+ InitializeComponent();
+ // 绂佹淇敼绐楀彛澶у皬
+ this.FormBorderStyle = FormBorderStyle.FixedDialog;
+ if (reader == null)
+ this.barcodeReader = new HRBarcodeReader();
+ else
+ this.barcodeReader = reader;
+
+ uiButtonCreate.Enabled = false;
+ }
+
+ private void uiButtonTest_Click(object sender, EventArgs e)
+ {
+ uiButtonCreate.Enabled = false;
+
+ if (string.IsNullOrEmpty(uiComboBoxSN.Text))
+ MessageBox.Show($"鍒濆鍖栬鐮佸櫒[{uiComboBoxSN.Text}]涓虹┖!", "寮傚父");
+
+ if (barcodeReader == null)
+ {
+ MessageBox.Show("璇峰厛閫夋嫨璇荤爜鍣ㄥ搧鐗�!", "寮傚父");
+ return;
+ }
+
+ barcodeReader.Close();
+ if (barcodeReader.Open(uiComboBoxSN.Text))
+ {
+ uiButtonCreate.Enabled = true;
+ barcodeReader.Close();
+ }
+ else
+ MessageBox.Show($"鍒濆鍖栬鐮佸櫒[{uiComboBoxSN.Text}]澶辫触!", "寮傚父");
+ }
+
+ private void uiButtonCreate_Click(object sender, EventArgs e)
+ {
+ if (barcodeReader.Open(uiComboBoxSN.Text))
+ {
+ barcodeReader.SN = uiComboBoxSN.Text;
+ bCreate = true;
+ this.Close();
+ }
+ else
+ MessageBox.Show($"鍒濆鍖栬鐮佸櫒[{uiComboBoxSN.Text}]澶辫触!", "寮傚父");
+ }
+
+ private void uiButtonCancel_Click(object sender, EventArgs e)
+ {
+ if (barcodeReader != null)
+ barcodeReader.Close();
+ bCreate = false;
+ this.Close();
+ }
+
+ private void uiComboBoxBrand_MouseClick(object sender, MouseEventArgs e)
+ {
+ uiComboBoxBrand.Items.Clear();
+ foreach (BarcodeReaderBrand brand in Enum.GetValues(typeof(BarcodeReaderBrand)))
+ {
+ if (brand != BarcodeReaderBrand.Unsupported)
+ uiComboBoxBrand.Items.Add(brand.ToString());
+ }
+ }
+
+ private void uiComboBoxBrand_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ uiButtonCreate.Enabled = false;
+ uiComboBoxSN.Text = string.Empty;
+
+ if (barcodeReader != null)
+ barcodeReader.Close();
+
+ Enum.TryParse<BarcodeReaderBrand>(uiComboBoxBrand.Text, out BarcodeReaderBrand brand);
+ switch (brand)
+ {
+ case BarcodeReaderBrand.Huayray:
+ barcodeReader = new HRBarcodeReader();
+ break;
+ default:
+ return;
+ }
+ }
+
+ private void uiComboBoxSN_MouseClick(object sender, MouseEventArgs e)
+ {
+ uiButtonCreate.Enabled = false;
+ uiComboBoxSN.Text = string.Empty;
+
+ uiComboBoxSN.Items.Clear();
+ var list = barcodeReader.GetDeviceList();
+
+ foreach (string sn in list)
+ uiComboBoxSN.Items.Add(sn);
+ }
+ }
+}
diff --git a/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.resx b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/LB_SmartVision/Forms/Pages/BarcodeReaderPage/CreateBarcodeReaderForm.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
\ No newline at end of file
diff --git a/LB_SmartVision/GlobalVar.cs b/LB_SmartVision/GlobalVar.cs
index 60133bf..e2ea35c 100644
--- a/LB_SmartVision/GlobalVar.cs
+++ b/LB_SmartVision/GlobalVar.cs
@@ -3,6 +3,7 @@
using LB_SmartVision.Forms.Pages.SettingPage;
using LB_SmartVision.ProcessRun;
using LB_SmartVision.Tool;
+using LB_VisionProcesses.BarcodeReaders;
using LB_VisionProcesses.Cameras;
using LB_VisionProcesses.Communicators;
using System.Collections.Concurrent;
@@ -25,11 +26,25 @@
strStartTime = DateTime.Now.ToString("yyyyMMdd_HHmm");
}
+
+ /// <summary>
+ /// 璇荤爜鍣ㄩ泦鍚�(Key:璁惧SN锛孷alue:璇荤爜鍣ㄥ彞鏌�)
+ /// </summary>
+ public static ObservableConcurrentDictionary<string, BarcodeReaderBase> dicBarcodeReaders { get; set; } = new ObservableConcurrentDictionary<string, BarcodeReaderBase>();
+
+
/// <summary>
/// 鍏夋簮鎺у埗閰嶇疆
/// </summary>
public static Dictionary<string, LEDControlParams> dicSerialPort { get; set; } = new Dictionary<string, LEDControlParams>();
+ #region 璇荤爜鍣�
+ public static ConcurrentDictionary<string, string> allBarcodeReadersConnectionString = new ConcurrentDictionary<string, string>();
+ public static string allBarcodeReadersConnectionStringPath
+ => GlobalVar.strApplicationPath + "鎵�鏈変骇鍝乗\" + GlobalVar.strProductName + "\\A_BarcodeReaderConnections.json";
+
+ #endregion
+
public static string AllSerialPortPath
=> GlobalVar.strApplicationPath + "鎵�鏈変骇鍝乗\" + GlobalVar.strProductName + "\\A_SerialPort.json";
diff --git a/LB_SmartVision/LB_SmartVision.csproj.user b/LB_SmartVision/LB_SmartVision.csproj.user
index d080b69..5064d7b 100644
--- a/LB_SmartVision/LB_SmartVision.csproj.user
+++ b/LB_SmartVision/LB_SmartVision.csproj.user
@@ -7,6 +7,15 @@
<Compile Update="Forms\CreateProductForm.cs">
<SubType>Form</SubType>
</Compile>
+ <Compile Update="Forms\Pages\BarcodeReaderPage\BarcodeReaderForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Update="Forms\Pages\BarcodeReaderPage\BarcodeReadersEditPage.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Update="Forms\Pages\BarcodeReaderPage\CreateBarcodeReaderForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
<Compile Update="Forms\Pages\CameraPage\CameraForm.cs">
<SubType>Form</SubType>
</Compile>
diff --git a/LB_SmartVision/ProcessRun/ProcessContext.cs b/LB_SmartVision/ProcessRun/ProcessContext.cs
index cf8172b..7654dc8 100644
--- a/LB_SmartVision/ProcessRun/ProcessContext.cs
+++ b/LB_SmartVision/ProcessRun/ProcessContext.cs
@@ -239,7 +239,7 @@
#region 缁樺埗缁撴灉鍥�
string[] RecordImageMaps = RecordImageMap.Split(';');
int FontSize = ho_ImageHeight.I / 80 > 0 ? ho_ImageHeight.I / 80 : 8;
- int MsgSize = ho_ImageHeight.I / 20 > 0 ? ho_ImageHeight.I / 20 : 20;
+ int MsgSize = ho_ImageHeight.I / 40 > 0 ? ho_ImageHeight.I / 80 : 20;
TAlgorithm.set_display_font(hWindowControl.HalconWindow, FontSize, "mono", "true", "false");
@@ -415,6 +415,9 @@
[Node("Halcon2D_鎵剧嚎宸ュ叿", "Halcon2D绠楁硶", "Basic", "Halcon2D_鎵剧嚎宸ュ叿")]
public void Halcon2D_鎵剧嚎宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+ [Node("Halcon2D_鍥惧儚澧炲己宸ュ叿", "Halcon2D绠楁硶", "Basic", "Halcon2D_鍥惧儚澧炲己宸ュ叿")]
+ public void Halcon2D_鍥惧儚澧炲己宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+
#endregion
#region 鍒嗗壊妯″瀷
diff --git a/LB_SmartVision/VisionForm.cs b/LB_SmartVision/VisionForm.cs
index 3167069..77e0d8f 100644
--- a/LB_SmartVision/VisionForm.cs
+++ b/LB_SmartVision/VisionForm.cs
@@ -1,6 +1,7 @@
锘縰sing HalconDotNet;
using LB_SmartVision.Forms;
using LB_SmartVision.Forms.Pages;
+using LB_SmartVision.Forms.Pages.BarcodeReaderPage;
using LB_SmartVision.Forms.Pages.CameraPage;
using LB_SmartVision.Forms.Pages.CommunicatorPage;
using LB_SmartVision.Forms.Pages.HistoricalData;
@@ -16,6 +17,8 @@
using LB_SmartVisionCommon;
using LB_SmartVisionLoginUI;
using LB_VisionProcesses;
+using LB_VisionProcesses.BarcodeReaders;
+using LB_VisionProcesses.BarcodeReaders.Huayray;
using LB_VisionProcesses.Cameras;
using LB_VisionProcesses.Cameras.HikCameras;
using LB_VisionProcesses.Cameras.HRCameras;
@@ -51,10 +54,12 @@
{
public partial class VisionForm : Form
{
+ #region Variable
public string NowBom = string.Empty;
AllProcessesPage AllProcessesPage = new AllProcessesPage();
CamerasEditPage CamerasEditPage = new CamerasEditPage();
+ BarcodeReadersEditPage BarcodeReadersEditPage = new BarcodeReadersEditPage();
HistoricalDataEditPage HistoricalDataEditPage = new HistoricalDataEditPage();
CommunicatorsEditPage CommunicatorsEditPage = new CommunicatorsEditPage();
SettingEditPage SettingEditPage = new SettingEditPage();
@@ -77,6 +82,8 @@
// 绐椾綋绫荤殑鍏ㄥ眬鍙橀噺锛氭爣璁版槸鍚﹀厑璁稿垏鎹ab锛堥粯璁ゅ厑璁革級
private bool _isTabSwitchAllowed = true;
+ #endregion
+
public VisionForm()
{
InitializeComponent();
@@ -94,10 +101,15 @@
HistoricalDataEditPage.LogInfo += LogInfo;
materialTabControl.Controls.Add(new MyPage(HistoricalDataEditPage));
+
lEDLightSourceControlEditPage.LogInfo += LogInfo;
materialTabControl.Controls.Add(new MyPage(lEDLightSourceControlEditPage));
+
CamerasEditPage.LogInfo += LogInfo;
materialTabControl.Controls.Add(new MyPage(CamerasEditPage));
+
+ BarcodeReadersEditPage.LogInfo += LogInfo;
+ materialTabControl.Controls.Add(new MyPage(BarcodeReadersEditPage));
CommunicatorsEditPage.LogInfo += LogInfo;
materialTabControl.Controls.Add(new MyPage(CommunicatorsEditPage));
@@ -771,6 +783,20 @@
{
LogInfo("鐩告満鍔犺浇澶辫触", LogInfoType.ERROR);
}
+ //鍔犺浇璇荤爜鍣�
+ foreach (var reader in GlobalVar.dicBarcodeReaders.Values)
+ {
+ reader.Dispose();
+ }
+ GlobalVar.dicBarcodeReaders.Clear();
+ if (LoadAllBarcodeReaders(GlobalVar.allBarcodeReadersConnectionStringPath))
+ {
+ LogInfo("璇荤爜鍣ㄥ姞杞芥垚鍔�", LogInfoType.PASS);
+ }
+ else
+ {
+ LogInfo("璇荤爜鍣ㄥ姞杞藉け璐�", LogInfoType.ERROR);
+ }
//鍔犺浇鍏ㄥ眬鍙橀噺
IProcess.dicGlobalVars.Clear();
if (LoadAllProcessVars(GlobalVar.allProcessVarsPath))
@@ -936,8 +962,110 @@
SaveAllCsv();
SaveMotionControlDatas();
SaveSerialPorts();
+ SaveAllBarcodeReaders();
}
+
+ public bool LoadAllBarcodeReaders(string allBarcodeReadersConnectionStringPath)
+ {
+ if (!File.Exists(allBarcodeReadersConnectionStringPath))
+ {
+ Debug.WriteLine("璇荤爜鍣ㄩ厤缃枃浠朵笉瀛樺湪锛屽垱寤虹┖鏂囦欢");
+ SaveAllBarcodeReaders();
+ return true;
+ }
+ string strJson = string.Empty;
+ using (StreamReader streamReader = new StreamReader(allBarcodeReadersConnectionStringPath, Encoding.UTF8))
+ {
+ strJson = streamReader.ReadToEnd();
+ streamReader.Close();
+ }
+ GlobalVar.allBarcodeReadersConnectionString = JsonConvert.DeserializeObject<ConcurrentDictionary<string, string>>(strJson);
+ if (GlobalVar.allBarcodeReadersConnectionString == null)
+ {
+ MessageBox.Show("璇荤爜鍣ㄥ姞杞藉け璐�!", "寮傚父");
+ return false;
+ }
+ BarcodeReaderBase reader = null;
+ foreach (var ReaderConnectionString in GlobalVar.allBarcodeReadersConnectionString)
+ {
+ Enum.TryParse<BarcodeReaderBrand>(ReaderConnectionString.Value, out BarcodeReaderBrand brand);
+ switch (brand)
+ {
+ case BarcodeReaderBrand.Huayray:
+ {
+ reader = new HRBarcodeReader();
+ break;
+ }
+ default:
+ {
+ MessageBox.Show($"[{ReaderConnectionString.Key}]璇荤爜鍣ㄥ搧鐗屼笉鏀寔!", "寮傚父");
+ continue;
+ }
+ }
+ reader.SN = ReaderConnectionString.Key;
+ if (!reader.Open(ReaderConnectionString.Key))
+ {
+ LogInfo($"鍒濆鍖栬鐮佸櫒[{ReaderConnectionString.Key}]澶辫触", LogInfoType.ERROR);
+ reader.IsConnected = false;
+ reader.IsGrabbing = false;
+ }
+ else
+ {
+ LogInfo($"鍒濆鍖栬鐮佸櫒[{ReaderConnectionString.Key}]鎴愬姛", LogInfoType.PASS);
+ }
+
+ GlobalVar.dicBarcodeReaders.TryAdd(ReaderConnectionString.Key, reader);
+ }
+
+ return true;
+ }
+
+ public bool SaveAllBarcodeReaders()
+ {
+ try
+ {
+ string strJson = string.Empty;
+ GlobalVar.allBarcodeReadersConnectionString = new ConcurrentDictionary<string, string>();
+
+ foreach (var item in GlobalVar.dicBarcodeReaders)
+ {
+ string ReaderSN = item.Value.SN;
+ string ReaderBrand = item.Value.Brand.ToString();
+
+ if (string.IsNullOrEmpty(ReaderSN) || string.IsNullOrEmpty(ReaderBrand))
+ {
+ break;
+ }
+ GlobalVar.allBarcodeReadersConnectionString.TryAdd(ReaderSN, ReaderBrand);
+ }
+ var settings = new JsonSerializerSettings
+ {
+ Formatting = Formatting.Indented,
+ ContractResolver = new DefaultContractResolver
+ {
+ NamingStrategy = new CamelCaseNamingStrategy()
+ }
+ };
+
+ strJson = JsonConvert.SerializeObject(GlobalVar.allBarcodeReadersConnectionString, settings);
+ string directoryPath = Path.GetDirectoryName(GlobalVar.allBarcodeReadersConnectionStringPath);
+ if (!Directory.Exists(directoryPath))
+ {
+ try
+ {
+ Directory.CreateDirectory(directoryPath);
+ }
+ catch (Exception)
+ { }
+ }
+ File.WriteAllText(GlobalVar.allBarcodeReadersConnectionStringPath, strJson, Encoding.UTF8);
+ return true;
+ }
+ catch { return false; }
+ }
+
+
public bool LoadSerialPorts(string allSerialPortPath)
{
try
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/EasyIDSDK_Net.dll b/LB_SmartVision/bin/Debug/net8.0-windows/EasyIDSDK_Net.dll
new file mode 100644
index 0000000..689a25d
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/EasyIDSDK_Net.dll
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/EasyIDSDK_Net.xml b/LB_SmartVision/bin/Debug/net8.0-windows/EasyIDSDK_Net.xml
new file mode 100644
index 0000000..38d7685
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/EasyIDSDK_Net.xml
@@ -0,0 +1,1812 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>EasyIDSDK_Net</name>
+ </assembly>
+ <members>
+ <member name="T:EasyIDSDK_Net.EidCamera">
+ <summary>
+ <para><ch>EidCamera</ch></para>
+ <para><en>EidCamera</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOK">
+ <summary>
+ <para><ch>鎴愬姛</ch></para>
+ <para><en>OK</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorUnknown">
+ <summary>
+ <para><ch>鏈煡閿欒</ch></para>
+ <para><en>Unknown error</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInternalError">
+ <summary>
+ <para><ch>鍐呴儴閿欒</ch></para>
+ <para><en>Internal error</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidParameter">
+ <summary>
+ <para><ch>鏃犳晥鍙傛暟</ch></para>
+ <para><en>Invalid parameter</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotConnected">
+ <summary>
+ <para><ch>鐩告満鏈繛鎺�</ch></para>
+ <para><en>Camera not connected</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotFound">
+ <summary>
+ <para><ch>鏈壘鍒�</ch></para>
+ <para><en>Not found</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorTimeout">
+ <summary>
+ <para><ch>瓒呮椂</ch></para>
+ <para><en>Timeout</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotImplemented">
+ <summary>
+ <para><ch>鏈疄鐜�</ch></para>
+ <para><en>Not implemented</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorRepeatOperation">
+ <summary>
+ <para><ch>閲嶅鎿嶄綔</ch></para>
+ <para><en>Repeat operation</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNullPtr">
+ <summary>
+ <para><ch>绌烘寚閽�</ch></para>
+ <para><en>Null pointer</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorReadDataFail">
+ <summary>
+ <para><ch>璇诲彇鏁版嵁澶辫触</ch></para>
+ <para><en>Failed to read data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteDataFail">
+ <summary>
+ <para><ch>鍐欏叆鏁版嵁澶辫触</ch></para>
+ <para><en>Failed to write data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDataCheckFail">
+ <summary>
+ <para><ch>鏁版嵁鏍¢獙澶辫触</ch></para>
+ <para><en>Data verification failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageSizeError">
+ <summary>
+ <para><ch>鍥惧儚澶у皬閿欒</ch></para>
+ <para><en>Wrong image size</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageTypeError">
+ <summary>
+ <para><ch>鍥惧儚绫诲瀷閿欒</ch></para>
+ <para><en>Wrong image type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageDataTypeError">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁绫诲瀷閿欒</ch></para>
+ <para><en>Wrong image data type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorSerializeFail">
+ <summary>
+ <para><ch>搴忓垪鍖栧け璐�</ch></para>
+ <para><en>Serialization failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDeserializeFail">
+ <summary>
+ <para><ch>鍙嶅簭鍒楀寲澶辫触</ch></para>
+ <para><en>Deserialization failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOpenFileFail">
+ <summary>
+ <para><ch>鎵撳紑鏂囦欢澶辫触</ch></para>
+ <para><en>Failed to open file</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteFileFail">
+ <summary>
+ <para><ch>鏂囦欢鍐欏叆澶辫触</ch></para>
+ <para><en>File writing failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidHandle">
+ <summary>
+ <para><ch>鏃犳晥鍙ユ焺</ch></para>
+ <para><en>Invalid handle</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInsufficientBuffer">
+ <summary>
+ <para><ch>缂撳啿鍖鸿繃灏�</ch></para>
+ <para><en>Insufficient buffers</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.#ctor">
+ <summary>
+ <para><ch>鏋勯�犲嚱鏁�</ch></para>
+ <para><en>Constructor</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetVersion_Net">
+ <summary>
+ <para><ch>鑾峰彇鐗堟湰淇℃伅</ch></para>
+ <para><en>Get version information</en></para>
+ </summary>
+ <returns><para><ch>鐗堟湰淇℃伅</ch></para><para><en>Version infomation</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidEnumDevices_Net(EasyIDSDK_Net.EidCamera.EidDeviceList@,System.UInt32)">
+ <summary>
+ <para><ch>鏍规嵁鎺ュ彛绫诲瀷鏋氫妇鐩告満, 鍚屾椂杈撳嚭鎵�鏈夌浉鏈轰俊鎭埌 deviceList</ch></para>
+ <para><en>Enumerate devices according to the interface type, and outputting all devices information to the deviceList</en></para>
+ </summary>
+ <param name="deviceList"><para><ch>[out] 璁惧淇℃伅鍒楄〃</ch></para><para><en>[out] Device information list</en></para></param>
+ <param name="type"><para><ch>[in] 鎺ュ彛绫诲瀷, 鍙互鏄涓帴鍙g被鍨嬬殑缁勫悎. 鑻ヤ紶鍏ュ�间负0琛ㄧず鎵�鏈夌被鍨�, 涓� eidInterfaceTypeAll 鍚箟鐩稿悓, 鍏朵綑鍙栧�煎弬鑰� #EidInterfaceType</ch></para>
+ <para><en>[in] Interface type, which can be a combination of multiple interface types.If the value of the parameter is 0, it means all types, which is the same as eidInterfaceTypeAll. other value see #EidInterfaceType</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidCreateDevice_Net(System.String,EasyIDSDK_Net.EidCamera.EidDeviceDataType)">
+ <summary>
+ <para><ch>鏍规嵁璁惧鏁版嵁淇℃伅鍒涘缓鐩稿簲鐨勮澶囧璞�, 濡傚彲浠ラ�氳繃璁惧搴忓垪鍙峰垱寤恒��</ch></para>
+ <para><en>Create a device handle according to the device data, for example, you can create a device object through the serial number.
+ This interface will not enumerate devices and needs to be called after #eidEnumDevices.</en></para>
+ </summary>
+ <param name="data"><para><ch>[in] 璁惧鏁版嵁, 鏁版嵁鍐呭鐨勫惈涔夌敱 type 鍙傛暟鍐冲畾</ch></para><para><en>[in] Device data, the meaning of the data content is determined by the type parameter</en></para></param>
+ <param name="type"><para><ch>[in] 鏁版嵁绫诲瀷, 榛樿鍊兼槸璁惧搴忓垪鍙�</ch></para><para><en>[in] Data type</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ <remarks><para><ch>娉ㄦ剰闇�瑕佽皟鐢� #eidReleaseHandle_Net 閲婃斁璧勬簮銆�</ch></para><para><en>Note that need to call #eidReleaseHandle_Net to release resources.</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseHandle_Net">
+ <summary>
+ <para><ch>閲婃斁鐩告満鍙ユ焺璧勬簮</ch></para>
+ <para><en>Release device handle resources</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetDeviceInfo_Net(EasyIDSDK_Net.EidCamera.EidDeviceInfo@)">
+ <summary>
+ <para><ch>鑾峰彇璁惧淇℃伅</ch></para>
+ <para><en>Get device infomation</en></para>
+ </summary>
+ <param name="info"><para><ch>[out] 璁惧淇℃伅</ch></para><para><en>[out] Pointer to a EidDeviceInfo structure to receive the device information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidOpenDevice_Net">
+ <summary>
+ <para><ch>鎵撳紑璁惧</ch></para>
+ <para><en>Open a device</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidCloseDevice_Net">
+ <summary>
+ <para><ch>鍏抽棴璁惧</ch></para>
+ <para><en>Close a device</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsDeviceOpen_Net">
+ <summary>
+ <para><ch>璁惧鏄惁宸茬粡鎵撳紑</ch></para>
+ <para><en>Gets a value indicating whether the media source is currently open. .</en></para>
+ </summary>
+ <returns><para><ch>濡傛灉璁惧澶勪簬鎵撳紑鐘舵�侊紝杩斿洖 true锛屽惁鍒欙紝false</ch></para><para><en>True if the device is open; otherwise, false</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidForceIpAddress_Net(System.String,System.String,System.String)">
+ <summary>
+ <para><ch>淇敼鐩告満IP. 璇ユ帴鍙e彧閽堝閫氳繃缃戝崱鎺ュ叆鐨勮澶囷紝瀵逛簬鍏朵綑璁惧锛岃皟鐢ㄦ鎺ュ彛鏃犳剰涔�</ch></para>
+ <para><en>Modify the device IP. This interface is only for devices connected through a network card.
+ For other devices, it is meaningless to call this interface.</en></para>
+ </summary>
+ <param name="ipAddr"><para><ch>[in] 璁惧IP鍦板潃</ch></para><para><en>[in] New IP address</en></para></param>
+ <param name="subnetMask"><para><ch>[in] 瀛愮綉鎺╃爜</ch></para><para><en>[in] New subnet mask</en></para></param>
+ <param name="gateway"><para><ch>[in] 榛樿缃戝叧</ch></para><para><en>[in] New default gateway</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidDownloadGenICamXML_Net(System.String)">
+ <summary>
+ <para><ch>涓嬭浇璁惧鎻忚堪XML鏂囦欢锛屽苟淇濆瓨鍒版寚瀹氳矾寰�</ch></para>
+ <para><en>Download device description XML file, and save the file to specified path</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSaveDeviceConfig_Net(System.String)">
+ <summary>
+ <para><ch>淇濆瓨璁惧閰嶇疆鍒版寚瀹氱殑璺緞</ch></para>
+ <para><en>Save the configuration of the device to specified path</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidLoadDeviceConfig_Net(System.String,EasyIDSDK_Net.EidCamera.EidErrorList@)">
+ <summary>
+ <para><ch>浠庢枃浠跺姞杞借澶囬厤缃�</ch></para>
+ <para><en>Load the device configuration from a file</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 閰嶇疆鏂囦欢璺緞</ch></para><para><en>[in] Configuration file path</en></para></param>
+ <param name="errorList"><para><ch>[out] 閿欒鍒楄〃鎸囬拡, 鍐欏叆澶辫触鐨勮澶囧睘鎬у悕绉板皢閫氳繃璇ュ弬鏁拌繑鍥�</ch></para><para><en>[out] Pointor to error list. The device feature names that failed to write will be returned with this parameter</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFeatureType_Net(System.String)">
+ <summary>
+ <para><ch>鑾峰彇璁惧灞炴�х被鍨�</ch></para>
+ <para><en>Get device feature type</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>璁惧灞炴�х被鍨�, 瑙� #EidFeatureType</ch></para><para><en>Device feature type, see enum #EidFeatureType</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureValid_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚︽湁鏁�</ch></para>
+ <para><en>Is the device feature valid</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureAvailable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲鐢�</ch></para>
+ <para><en>Is the device feature available</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙敤,false 涓嶅彲鐢�</ch></para><para><en>true Available,false Not available</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureReadable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲璇�</ch></para>
+ <para><en>Is the device feature readable</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙,false 涓嶅彲璇�</ch></para><para><en>true Readable,false Not readable</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureWriteable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲鍐�</ch></para>
+ <para><en>Is the device feature writeable</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙啓,false 涓嶅彲鍐�</ch></para><para><en>true Writeable,false Not writeable</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureValue_Net(System.String,System.Int64@)">
+ <summary>
+ <para><ch>鑾峰彇鏁村瀷灞炴�у��</ch></para>
+ <para><en>Get integer feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetIntFeatureValue_Net(System.String,System.Int64)">
+ <summary>
+ <para><ch>璁剧疆鏁村瀷灞炴�у��</ch></para>
+ <para><en>Set integer feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidIntFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇鏁村瀷灞炴�т俊鎭�</ch></para>
+ <para><en>Gets integer feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureValue_Net(System.String,System.Double@)">
+ <summary>
+ <para><ch>鑾峰彇娴偣鍨嬪睘鎬у��</ch></para>
+ <para><en>Get float feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetFloatFeatureValue_Net(System.String,System.Double)">
+ <summary>
+ <para><ch>璁剧疆娴偣鍨嬪睘鎬у��</ch></para>
+ <para><en>Set float feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>Gets float feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetBoolFeatureValue_Net(System.String,System.Boolean@)">
+ <summary>
+ <para><ch>鑾峰彇甯冨皵鍨嬪睘鎬у��</ch></para>
+ <para><en>Get bool feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetBoolFeatureValue_Net(System.String,System.Boolean)">
+ <summary>
+ <para><ch>璁剧疆甯冨皵鍨嬪睘鎬у��</ch></para>
+ <para><en>Set bool feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureValue_Net(System.String,System.Byte@,System.UInt32@)">
+ <summary>
+ <para><ch>鑾峰彇瀛楃涓插瀷灞炴�у��</ch></para>
+ <para><en>Get string feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖�, 鐢ㄦ埛鍒嗛厤鍐呭瓨绌洪棿</ch></para><para><en>[out] Pointer to string feature value buffer that is allocated memory space by the user</en></para></param>
+ <param name="size"><para><ch>[in,out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖洪暱搴�.</ch></para><para><en>[in,out] The length of the string buffer.</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ <remarks><para><ch>褰撳嚱鏁拌繑鍥炴椂, 濡傛灉缂撳啿鍖鸿冻澶熷ぇ, 鎵�鏈夌殑鏁版嵁閮戒細鎷疯礉鍒� value 缂撳啿鍖�, 骞朵笖姝ゅ弬鏁扮殑鍊兼槸瀹為檯瀛楃涓茬殑闀垮害(涓嶅寘鍚玭ull缁撴潫绗�);
+ 濡傛灉缂撳啿鍖轰笉澶熷ぇ, 缂撳啿鍖虹殑鏁版嵁鏄埅鏂悗鐨勫瓧绗︿覆鍐呭, 骞朵笖姝ゅ弬鏁板寘鍚瓧绗︿覆鐨勫疄闄呴暱搴�(涓嶅寘鍚玭ull缁撴潫绗�)</ch></para><para><en>When the function returns, if the buffer is large enough,
+ all data is copied to the value buffer, and the value of this parameter is the length of the actual string (without the null terminator);
+ If the buffer is not large enough, the buffer's data is the truncated string content,
+ and this parameter contains the actual length of the string (without the null terminator)</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetStringFeatureValue_Net(System.String,System.Byte@)">
+ <summary>
+ <para><ch>璁剧疆瀛楃涓插瀷灞炴�у��</ch></para>
+ <para><en>Set string feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidStringFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+ <para><en>Gets string feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureValue_Net(System.String,System.UInt64@)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬у��</ch></para>
+ <para><en>Get enum feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureValue_Net(System.String,System.UInt64)">
+ <summary>
+ <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬у��</ch></para>
+ <para><en>Set enum feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureSymbol_Net(System.String,System.Byte@,System.UInt32)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+ <para><en>Get enum feature symbol</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�х鍙�</ch></para><para><en>[out] Pointer to enum feature symbol buffer</en></para></param>
+ <param name="size"><para><ch>[in] 灞炴�х鍙风紦鍐查暱搴�</ch></para><para><en>[in] The length of symbol buffer</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureSymbol_Net(System.String,System.String)">
+ <summary>
+ <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+ <para><en>Set enum feature symbol</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�х鍙�</ch></para><para><en>[in] Feature symbol</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureEntryList_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList@)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬ф潯鐩垪琛�</ch></para>
+ <para><en>Get enum feature entry list</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="entryList"><para><ch>[out] 鏋氫妇鏉$洰鍒楄〃</ch></para><para><en>[out] Pointer to a EidEnumFeatureEntryList structure to receive the enum entry list</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidExecCommandFeature_Net(System.String)">
+ <summary>
+ <para><ch>鎵ц鍛戒护琛屽睘鎬�</ch></para>
+ <para><en>Execute command feature</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidEnumFeatureChildren_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback,System.IntPtr)">
+ <summary>
+ <para><ch>鏋氫妇瀛愬睘鎬�</ch></para>
+ <para><en>Enum Feature Children</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="fn"><para><ch>[in] 鍥炶皟鍑芥暟, 姣忎釜瀛愬睘鎬ч兘灏嗕細瑙﹀彂涓�娆¤鍑芥暟鐨勮皟鐢�</ch></para><para><en>[in] callback function, each child feature will invoke this method</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] user data for callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidStartGrabbing_Net(System.Int32)">
+ <summary>
+ <para><ch>寮�濮嬪彇娴�</ch></para>
+ <para><en>Start grabbing, then you can get the camera frame through #eidGetFrame</en></para>
+ </summary>
+ <param name="bufferCount"><para><ch>[in] 甯х紦瀛樻暟閲�, 0琛ㄧず浣跨敤榛樿缂撳瓨鏁�, >0浣跨敤璁剧疆鐨勭紦瀛樻暟</ch></para><para><en>[in] The number of frame buffers, 0 means to use the default number of buffers, >0 to use the set number of buffers</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidStopGrabbing_Net">
+ <summary>
+ <para><ch>鍋滄鍙栨祦</ch></para>
+ <para><en>Stop grabbing</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsGrabbing_Net">
+ <summary>
+ <para><ch>鏄惁姝e湪鍙栨祦</ch></para>
+ <para><en>Check whether it is grabbing or not</en></para>
+ </summary>
+ <returns><para><ch>濡傛灉姝e湪鍙栨祦, 杩斿洖true; 鍚﹀垯杩斿洖false</ch></para><para><en>Returns true if it is grabbing; otherwise returns false</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidClearFrameBuffer_Net">
+ <summary>
+ <para><ch>娓呴櫎甯ф暟鎹紦瀛�</ch></para>
+ <para><en>clear frame buffer cache</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrame_Net(System.UInt32)">
+ <summary>
+ <para><ch>鑾峰彇涓�甯у浘鍍�, 鑻ョ浉鏈哄紑鍚簡璇荤爜鍔熻兘, 甯ф暟鎹腑鍚屾椂鎼哄甫鏉$爜淇℃伅.</ch></para>
+ <para><en>Get a frame. If the code reading function is enabled, the frame data also carries the barcode information.</en></para>
+ </summary>
+ <param name="timeout"><para><ch>[in] 瓒呮椂鏃堕棿, 鍗曚綅: 姣. 褰撳�间负-1鏃惰〃绀烘棤闄愮瓑寰�</ch></para><para><en>[in] Timeout, in ms, when the value is -1, it means infinite wait</en></para></param>
+ <returns><para><ch>甯ф暟鎹彞鏌�, 澶辫触杩斿洖 nullptr</ch></para><para><en>Frame handle, failure returns nullptr</en></para></returns>
+ <remarks><para><ch>璇ユ帴鍙e皢瀵艰嚧绾跨▼闃诲, 鐩村埌鏀跺埌鍥惧儚鎴栬�呭埌杈捐秴鏃舵椂闂�. 杩斿洖鐨勫彞鏌勯渶瑕侀�氳繃 #eidReleaseFrame_Net 杩涜閲婃斁</ch></para><para><en>This method will block the thread until the timeout is reached.
+ The returned handle needs to be released through #eidReleaseFrame_Net</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseFrame_Net(System.IntPtr@)">
+ <summary>
+ <para><ch>閲婃斁涓�甯у浘鍍�</ch></para>
+ <para><en>Release a frame</en></para>
+ </summary>
+ <param name="frame"><para><ch>甯ф暟鎹彞鏌�</ch></para><para><en>Frame handle</en></para></param>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFrameValid_Net(System.IntPtr)">
+ <summary>
+ <para><ch>甯у彞鏌勬槸鍚︽湁鏁�</ch></para>
+ <para><en>Is the frame handle valid</en></para>
+ </summary>
+ <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+ <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrameInfo_Net(System.IntPtr,EasyIDSDK_Net.EidCamera.EidFrameInfo@)">
+ <summary>
+ <para><ch>鑾峰彇甯т俊鎭�. 甯т俊鎭噷鍚屾椂鍖呭惈鍥惧儚鏁版嵁鍜屾潯鐮佹暟鎹�</ch></para>
+ <para><en>Get frame information. The frame information contains both image data and barcode data</en></para>
+ </summary>
+ <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+ <param name="info"><para><ch>[out] 甯т俊鎭�</ch></para><para><en>[out] Frame information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFrameCallback_Net(EasyIDSDK_Net.EidCamera.EidFrameCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽甯ф暟鎹洖璋�</ch></para>
+ <para><en>Register frame data callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 甯ф暟鎹洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to frame data callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterConnectionCallback_Net(EasyIDSDK_Net.EidCamera.EidConnectionCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽璁惧杩炴帴淇℃伅鍥炶皟</ch></para>
+ <para><en>Register device connection information callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para><para><en>[in] A pointer to device connection information callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFeatureUpdateCallback_Net(EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽璁惧灞炴�ф洿鏂板洖璋�</ch></para>
+ <para><en>Register device feature update callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to device feature update callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureType">
+ <summary>
+ <para><ch>灞炴�х被鍨�</ch></para>
+ <para><en>Feature type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeUnknown">
+ <summary>
+ <para><ch>鏈畾涔�</ch></para>
+ <para><en>Undefined</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeInt">
+ <summary>
+ <para><ch>鏁村瀷鏁�</ch></para>
+ <para><en>Integer</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeFloat">
+ <summary>
+ <para><ch>娴偣鏁�</ch></para>
+ <para><en>Float</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeEnum">
+ <summary>
+ <para><ch>鏋氫妇</ch></para>
+ <para><en>Enumeration</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeBool">
+ <summary>
+ <para><ch>甯冨皵</ch></para>
+ <para><en>Bool</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeString">
+ <summary>
+ <para><ch>瀛楃涓�</ch></para>
+ <para><en>String</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeCommand">
+ <summary>
+ <para><ch>鍛戒护</ch></para>
+ <para><en>Command</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeGroup">
+ <summary>
+ <para><ch>鍒嗙粍</ch></para>
+ <para><en>Group</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidInterfaceType">
+ <summary>
+ <para><ch>鎺ュ彛绫诲瀷</ch></para>
+ <para><en>Interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUnknown">
+ <summary>
+ <para><ch>鏈煡鎺ュ彛绫诲瀷</ch></para>
+ <para><en>Unknown interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeGige">
+ <summary>
+ <para><ch>缃戝崱鎺ュ彛绫诲瀷</ch></para>
+ <para><en>NIC type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUsb">
+ <summary>
+ <para><ch>USB鎺ュ彛绫诲瀷</ch></para>
+ <para><en>USB interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeAll">
+ <summary>
+ <para><ch>鎵�鏈夋帴鍙g被鍨�</ch></para>
+ <para><en>All interface type</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceType">
+ <summary>
+ <para><ch>璁惧绫诲瀷</ch></para>
+ <para><en>Device type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUnknown">
+ <summary>
+ <para><ch>鏈煡绫诲瀷</ch></para>
+ <para><en>Unknown type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeGige">
+ <summary>
+ <para><ch>GIGE鐩告満</ch></para>
+ <para><en>GigE Camera</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUSB">
+ <summary>
+ <para><ch>USB鐩告満</ch></para>
+ <para><en>USB Camera</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceDataType">
+ <summary>
+ <para><ch>璁惧鏁版嵁绫诲瀷, 鐢ㄤ簬 #eidCreateDevice 鍑芥暟</ch></para>
+ <para><en>Device data type, used in the #eidCreateDevice function</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeID">
+ <summary>
+ <para><ch>璁惧ID</ch></para>
+ <para><en>Device ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeSN">
+ <summary>
+ <para><ch>搴忓垪鍙�</ch></para>
+ <para><en>Serial number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeIP">
+ <summary>
+ <para><ch>IP鍦板潃</ch></para>
+ <para><en>IP address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeMAC">
+ <summary>
+ <para><ch>MAC鍦板潃</ch></para>
+ <para><en>MAC address</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidPixelFormat">
+ <summary>
+ <para><ch>鍥惧儚鍍忕礌鏍煎紡</ch></para>
+ <para><en>Image pixel format</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelUnknwon">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono1p">
+ <summary>
+ <para><ch>Mono1p</ch></para>
+ <para><en>Mono1p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono2p">
+ <summary>
+ <para><ch>Mono2p</ch></para>
+ <para><en>Mono2p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono4p">
+ <summary>
+ <para><ch>Mono4p</ch></para>
+ <para><en>Mono4p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8">
+ <summary>
+ <para><ch>Mono8</ch></para>
+ <para><en>Mono8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8S">
+ <summary>
+ <para><ch>Mono8S</ch></para>
+ <para><en>Mono8S</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10">
+ <summary>
+ <para><ch>Mono10</ch></para>
+ <para><en>Mono10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10Packed">
+ <summary>
+ <para><ch>Mono10Packed</ch></para>
+ <para><en>Mono10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12">
+ <summary>
+ <para><ch>Mono12</ch></para>
+ <para><en>Mono12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12Packed">
+ <summary>
+ <para><ch>Mono12Packed</ch></para>
+ <para><en>Mono12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono14">
+ <summary>
+ <para><ch>Mono14</ch></para>
+ <para><en>Mono14</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono16">
+ <summary>
+ <para><ch>Mono16</ch></para>
+ <para><en>Mono16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR8">
+ <summary>
+ <para><ch>BayGR8</ch></para>
+ <para><en>BayGR8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG8">
+ <summary>
+ <para><ch>BayRG8</ch></para>
+ <para><en>BayRG8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB8">
+ <summary>
+ <para><ch>BayGB8</ch></para>
+ <para><en>BayGB8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG8">
+ <summary>
+ <para><ch>BayBG8</ch></para>
+ <para><en>BayBG8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10">
+ <summary>
+ <para><ch>BayGR10</ch></para>
+ <para><en>BayGR10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10">
+ <summary>
+ <para><ch>BayRG10</ch></para>
+ <para><en>BayRG10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10">
+ <summary>
+ <para><ch>BayGB10</ch></para>
+ <para><en>BayGB10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10">
+ <summary>
+ <para><ch>BayBG10</ch></para>
+ <para><en>BayBG10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12">
+ <summary>
+ <para><ch>BayGR12</ch></para>
+ <para><en>BayGR12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12">
+ <summary>
+ <para><ch>BayRG12</ch></para>
+ <para><en>BayRG12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12">
+ <summary>
+ <para><ch>BayGB12</ch></para>
+ <para><en>BayGB12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12">
+ <summary>
+ <para><ch>BayBG12</ch></para>
+ <para><en>BayBG12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10Packed">
+ <summary>
+ <para><ch>BayGR10Packed</ch></para>
+ <para><en>BayGR10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10Packed">
+ <summary>
+ <para><ch>BayRG10Packed</ch></para>
+ <para><en>BayRG10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10Packed">
+ <summary>
+ <para><ch>BayGB10Packed</ch></para>
+ <para><en>BayGB10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10Packed">
+ <summary>
+ <para><ch>BayBG10Packed</ch></para>
+ <para><en>BayBG10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12Packed">
+ <summary>
+ <para><ch>BayGR12Packed</ch></para>
+ <para><en>BayGR12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12Packed">
+ <summary>
+ <para><ch>BayRG12Packed</ch></para>
+ <para><en>BayRG12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12Packed">
+ <summary>
+ <para><ch>BayGB12Packed</ch></para>
+ <para><en>BayGB12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12Packed">
+ <summary>
+ <para><ch>BayBG12Packed</ch></para>
+ <para><en>BayBG12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR16">
+ <summary>
+ <para><ch>BayGR16</ch></para>
+ <para><en>BayGR16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG16">
+ <summary>
+ <para><ch>BayRG16</ch></para>
+ <para><en>BayRG16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB16">
+ <summary>
+ <para><ch>BayGB16</ch></para>
+ <para><en>BayGB16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG16">
+ <summary>
+ <para><ch>BayBG16</ch></para>
+ <para><en>BayBG16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8">
+ <summary>
+ <para><ch>RGB8</ch></para>
+ <para><en>RGB8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR8">
+ <summary>
+ <para><ch>BGR8</ch></para>
+ <para><en>BGR8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGBA8">
+ <summary>
+ <para><ch>RGBA8</ch></para>
+ <para><en>RGBA8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGRA8">
+ <summary>
+ <para><ch>BGRA8</ch></para>
+ <para><en>BGRA8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10">
+ <summary>
+ <para><ch>RGB10</ch></para>
+ <para><en>RGB10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR10">
+ <summary>
+ <para><ch>BGR10</ch></para>
+ <para><en>BGR10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12">
+ <summary>
+ <para><ch>RGB12</ch></para>
+ <para><en>RGB12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR12">
+ <summary>
+ <para><ch>BGR12</ch></para>
+ <para><en>BGR12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16">
+ <summary>
+ <para><ch>RGB16</ch></para>
+ <para><en>RGB16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10V1Packed">
+ <summary>
+ <para><ch>RGB10V1Packed</ch></para>
+ <para><en>RGB10V1Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10P32">
+ <summary>
+ <para><ch>RGB10P32</ch></para>
+ <para><en>RGB10P32</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12V1Packed">
+ <summary>
+ <para><ch>RGB12V1Packed</ch></para>
+ <para><en>RGB12V1Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB565P">
+ <summary>
+ <para><ch>RGB565P</ch></para>
+ <para><en>RGB565P</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR565P">
+ <summary>
+ <para><ch>BGR565P</ch></para>
+ <para><en>BGR565P</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV411_8_UYYVYY">
+ <summary>
+ <para><ch>YUV411_8_UYYVYY</ch></para>
+ <para><en>YUV411_8_UYYVYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8_UYVY">
+ <summary>
+ <para><ch>YUV422_8_UYVY</ch></para>
+ <para><en>YUV422_8_UYVY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8">
+ <summary>
+ <para><ch>YUV422_8 </ch></para>
+ <para><en>YUV422_8 </en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV8_UYV">
+ <summary>
+ <para><ch>YUV8_UYV</ch></para>
+ <para><en>YUV8_UYV</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr8CbYCr">
+ <summary>
+ <para><ch>YCbCr8CbYCr</ch></para>
+ <para><en>YCbCr8CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8">
+ <summary>
+ <para><ch>YCbCr422_8</ch></para>
+ <para><en>YCbCr422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr422_8_CbYCrY</ch></para>
+ <para><en>YCbCr422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_8_CbYCr">
+ <summary>
+ <para><ch>YCbCr601_8_CbYCr</ch></para>
+ <para><en>YCbCr601_8_CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8">
+ <summary>
+ <para><ch>YCbCr601_422_8</ch></para>
+ <para><en>YCbCr601_422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr601_422_8_CbYCrY</ch></para>
+ <para><en>YCbCr601_422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr601_411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr601_411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_8_CbYCr">
+ <summary>
+ <para><ch>YCbCr709_8_CbYCr</ch></para>
+ <para><en>YCbCr709_8_CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8">
+ <summary>
+ <para><ch>YCbCr709_422_8</ch></para>
+ <para><en>YCbCr709_422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr709_422_8_CbYCrY</ch></para>
+ <para><en>YCbCr709_422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr709_411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr709_411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8Planar">
+ <summary>
+ <para><ch>RGB8Planar</ch></para>
+ <para><en>RGB8Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10Planar">
+ <summary>
+ <para><ch>RGB10Planar</ch></para>
+ <para><en>RGB10Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12Planar">
+ <summary>
+ <para><ch>RGB12Planar</ch></para>
+ <para><en>RGB12Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16Planar">
+ <summary>
+ <para><ch>RGB16Planar</ch></para>
+ <para><en>RGB16Planar</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidReadState">
+ <summary>
+ <para><ch>璇荤爜鐘舵��</ch></para>
+ <para><en>Code reading state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateUnknown">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNA">
+ <summary>
+ <para><ch>鏃犳晥</ch></para>
+ <para><en>Not available</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateComplete">
+ <summary>
+ <para><ch>鍏ㄩ儴</ch></para>
+ <para><en>Complete</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNoRead">
+ <summary>
+ <para><ch>鏃犳潯鐮�</ch></para>
+ <para><en>No code was read</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePartial">
+ <summary>
+ <para><ch>閮ㄥ垎</ch></para>
+ <para><en>Partial</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateFail">
+ <summary>
+ <para><ch>澶辫触</ch></para>
+ <para><en>Fail</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNA">
+ <summary>
+ <para><ch>鏃犳晥(Phase妯″紡)</ch></para>
+ <para><en>Not available(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseComplete">
+ <summary>
+ <para><ch>鍏ㄩ儴(Phase妯″紡)</ch></para>
+ <para><en>Complete(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNoRead">
+ <summary>
+ <para><ch>鏃犳潯鐮�(Phase妯″紡)</ch></para>
+ <para><en>No code was read(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhasePartial">
+ <summary>
+ <para><ch>閮ㄥ垎(Phase妯″紡)</ch></para>
+ <para><en>Partial(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseFail">
+ <summary>
+ <para><ch>澶辫触(Phase妯″紡)</ch></para>
+ <para><en>Fail(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidBarcodeType">
+ <summary>
+ <para><ch>鐮佺被鍨�</ch></para>
+ <para><en>Barcode type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUnknown">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN8">
+ <summary>
+ <para><ch>EAN8</ch></para>
+ <para><en>EAN8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN13">
+ <summary>
+ <para><ch>EAN13</ch></para>
+ <para><en>EAN13 type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode39">
+ <summary>
+ <para><ch>Code39</ch></para>
+ <para><en>Code39</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode93">
+ <summary>
+ <para><ch>Code93</ch></para>
+ <para><en>Code93</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode128">
+ <summary>
+ <para><ch>Code128</ch></para>
+ <para><en>Code128</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCA">
+ <summary>
+ <para><ch>UPCA</ch></para>
+ <para><en>UPCA</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCE">
+ <summary>
+ <para><ch>UPCE</ch></para>
+ <para><en>UPCE</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeITF25">
+ <summary>
+ <para><ch>ITF25</ch></para>
+ <para><en>ITF25</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODABAR">
+ <summary>
+ <para><ch>CODABAR</ch></para>
+ <para><en>CODABAR</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128A">
+ <summary>
+ <para><ch>CODE128A</ch></para>
+ <para><en>CODE128A</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128B">
+ <summary>
+ <para><ch>CODE128B</ch></para>
+ <para><en>CODE128B</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128C">
+ <summary>
+ <para><ch>CODE128C</ch></para>
+ <para><en>CODE128C</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeQR">
+ <summary>
+ <para><ch>QR</ch></para>
+ <para><en>QR</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeDM">
+ <summary>
+ <para><ch>DM</ch></para>
+ <para><en>DM</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypePDF417">
+ <summary>
+ <para><ch>PDF417</ch></para>
+ <para><en>PDF417</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeVERICODE">
+ <summary>
+ <para><ch>VERICODE</ch></para>
+ <para><en>VERICODE</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionState">
+ <summary>
+ <para><ch>杩炴帴浜嬩欢绫诲瀷</ch></para>
+ <para><en>Connect event type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOffline">
+ <summary>
+ <para><ch>绂荤嚎</ch></para>
+ <para><en>Offline</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOnline">
+ <summary>
+ <para><ch>鍦ㄧ嚎</ch></para>
+ <para><en>Online</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo">
+ <summary>
+ <para><ch>GigE璁惧淇℃伅</ch></para>
+ <para><en>GigE device info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.macAddress">
+ <summary>
+ <para><ch>璁惧Mac鍦板潃</ch></para>
+ <para><en>Device MAC Address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.ipAddress">
+ <summary>
+ <para><ch>璁惧Ip鍦板潃</ch></para>
+ <para><en>Device ip Address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.subnetMask">
+ <summary>
+ <para><ch>瀛愮綉鎺╃爜</ch></para>
+ <para><en>SubnetMask</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.defaultGateWay">
+ <summary>
+ <para><ch>榛樿缃戝叧</ch></para>
+ <para><en>Default GateWay</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.isIpValid">
+ <summary>
+ <para><ch>Ip鏄惁鏈夋晥</ch></para>
+ <para><en>Ip valid</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.chReserved">
+ <summary>
+ <para><ch>淇濈暀</ch></para>
+ <para><en>Reserved field</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo">
+ <summary>
+ <para><ch>璁惧淇℃伅</ch></para>
+ <para><en>Device info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceType">
+ <summary>
+ <para><ch>璁惧绫诲埆</ch></para>
+ <para><en>Device type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceType">
+ <summary>
+ <para><ch>鎺ュ彛绫诲埆</ch></para>
+ <para><en>Interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceID">
+ <summary>
+ <para><ch>璁惧ID</ch></para>
+ <para><en>Device ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.cameraName">
+ <summary>
+ <para><ch>鐢ㄦ埛鑷畾涔夊悕</ch></para>
+ <para><en>User defined name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.serialNumber">
+ <summary>
+ <para><ch>璁惧搴忓垪鍙�</ch></para>
+ <para><en>Device serial number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.vendorName">
+ <summary>
+ <para><ch>鍘傚晢</ch></para>
+ <para><en>Device vendor</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.modelName">
+ <summary>
+ <para><ch>璁惧鍨嬪彿</ch></para>
+ <para><en>Device model</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.manufactureInfo">
+ <summary>
+ <para><ch>璁惧鍒堕�犱俊鎭�</ch></para>
+ <para><en>Device manufacture</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceVersion">
+ <summary>
+ <para><ch>璁惧鐗堟湰</ch></para>
+ <para><en>Device version</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceName">
+ <summary>
+ <para><ch>鎺ュ彛鍚�</ch></para>
+ <para><en>Interface name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reseved</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.stSpecialInfo">
+ <summary>
+ <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+ <para><en>special device Info</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO">
+ <summary>
+ <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+ <para><en>special device Info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO.gigeDeviceInfo">
+ <summary>
+ <para><ch>Gige璁惧淇℃伅</ch></para>
+ <para><en>Gige device info</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceList">
+ <summary>
+ <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+ <para><en>Device information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.num">
+ <summary>
+ <para><ch>璁惧鏁伴噺</ch></para>
+ <para><en>Device Number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.infos">
+ <summary>
+ <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+ <para><en>Device information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidErrorList">
+ <summary>
+ <para><ch>閿欒鍒楄〃</ch></para>
+ <para><en>Error list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.num">
+ <summary>
+ <para><ch>澶辫触鐨勫睘鎬ф暟閲�</ch></para>
+ <para><en>Number of failed features</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.names">
+ <summary>
+ <para><ch>澶辫触灞炴�у悕鍒楄〃</ch></para>
+ <para><en>Error feature name list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo">
+ <summary>
+ <para><ch>鏁村瀷灞炴�т俊鎭�</ch></para>
+ <para><en>int feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.current">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.min">
+ <summary>
+ <para><ch>鏈�灏忓��</ch></para>
+ <para><en>Minimum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.max">
+ <summary>
+ <para><ch>鏈�澶у��</ch></para>
+ <para><en>Maximum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.inc">
+ <summary>
+ <para><ch>澧為噺</ch></para>
+ <para><en>Increment</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo">
+ <summary>
+ <para><ch>娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>float feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.current">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.min">
+ <summary>
+ <para><ch>鏈�灏忓��</ch></para>
+ <para><en>Minimum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.max">
+ <summary>
+ <para><ch>鏈�澶у��</ch></para>
+ <para><en>Maximum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.unit">
+ <summary>
+ <para><ch>鍗曚綅</ch></para>
+ <para><en>Unit</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo">
+ <summary>
+ <para><ch>瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+ <para><en>String feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.maxLen">
+ <summary>
+ <para><ch>鏈�澶ч暱搴�</ch></para>
+ <para><en>The maximum length of the String</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.value">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry">
+ <summary>
+ <para><ch>鏋氫妇鍨嬪睘鎬ф潯鐩�</ch></para>
+ <para><en>enum feature entry</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.value">
+ <summary>
+ <para><ch>鍊�</ch></para>
+ <para><en>Value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.name">
+ <summary>
+ <para><ch>鍚嶇О</ch></para>
+ <para><en>Current Name</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList">
+ <summary>
+ <para><ch>鏋氫妇鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>enum feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.num">
+ <summary>
+ <para><ch>鏁伴噺</ch></para>
+ <para><en>count</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.entryList">
+ <summary>
+ <para><ch>鏉$洰鍒楄〃</ch></para>
+ <para><en>Entry list</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidPoint">
+ <summary>
+ <para><ch>浜岀淮鍧愭爣鐐�</ch></para>
+ <para><en>2D coordinate point</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.x">
+ <summary>
+ <para><ch>x鍧愭爣</ch></para>
+ <para><en>x-coordinate</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.y">
+ <summary>
+ <para><ch>y鍧愭爣</ch></para>
+ <para><en>y-coordinate</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidCodeInfo">
+ <summary>
+ <para><ch>鏉$爜淇℃伅</ch></para>
+ <para><en>Barcode information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.type">
+ <summary>
+ <para><ch>绫诲瀷</ch></para>
+ <para><en>Code type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.ppm">
+ <summary>
+ <para><ch>PPM</ch></para>
+ <para><en>PPM</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.position">
+ <summary>
+ <para><ch>浣嶇疆, 4涓偣</ch></para>
+ <para><en>Position, 4 points</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.data">
+ <summary>
+ <para><ch>鍐呭</ch></para>
+ <para><en>Code content</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.typeName">
+ <summary>
+ <para><ch>绫诲瀷鍚嶇О</ch></para>
+ <para><en>Code type name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFrameInfo">
+ <summary>
+ <para><ch>甯т俊鎭�</ch></para>
+ <para><en>Frame information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.id">
+ <summary>
+ <para><ch>甯D</ch></para>
+ <para><en>Frame block ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.timestamp">
+ <summary>
+ <para><ch>鏃堕棿鎴�</ch></para>
+ <para><en>Timestamp</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.width">
+ <summary>
+ <para><ch>鍥惧儚瀹藉害</ch></para>
+ <para><en>Image width</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.height">
+ <summary>
+ <para><ch>鍥惧儚楂樺害</ch></para>
+ <para><en>Image height</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.format">
+ <summary>
+ <para><ch>鍍忕礌鏍煎紡</ch></para>
+ <para><en>Pixel format</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.readState">
+ <summary>
+ <para><ch>璇荤爜鐘舵��</ch></para>
+ <para><en>Code reading state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeNum">
+ <summary>
+ <para><ch>鏉$爜鏁伴噺</ch></para>
+ <para><en>Number of barcodes</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageDataLen">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁闀垮害</ch></para>
+ <para><en>Length of image data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageData">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁</ch></para>
+ <para><en>Image data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeList">
+ <summary>
+ <para><ch>鏉$爜淇℃伅鍒�</ch></para>
+ <para><en>Barcode information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.isJpeg">
+ <summary>
+ <para><ch>鏄惁jpeg鍥�</ch></para>
+ <para><en>Is jpeg image</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionInfo">
+ <summary>
+ <para><ch>杩炴帴淇℃伅</ch></para>
+ <para><en>Connetion information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.state">
+ <summary>
+ <para><ch>杩炴帴鐘舵��</ch></para>
+ <para><en>Connetion state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFrameCallback">
+ <summary>
+ <para><ch>甯ф暟鎹洖璋冨嚱鏁�</ch></para>
+ <para><en>Frame data callback function</en></para>
+ </summary>
+ <param name="frameInfo"><para><ch>甯т俊鎭�</ch></para><para><en>frameInfo Frame info</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionCallback">
+ <summary>
+ <para><ch>璁惧杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para>
+ <para><en>Device connection information callback function</en></para>
+ </summary>
+ <param name="frameInfo"><para><ch>杩炴帴淇℃伅</ch></para><para><en>info Connection infomation</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback">
+ <summary>
+ <para><ch>璁惧灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para>
+ <para><en>Device feature update callback function</en></para>
+ </summary>
+ <param name="name"><para><ch>灞炴�у悕绉�</ch></para><para><en>name Device feature name</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback">
+ <summary>
+ <para><ch>鏋氫妇瀛愬睘鎬х殑鍥炶皟鍑芥暟, 鍦� eidEnumFeatureChildren 鍑芥暟涓娇鐢�, 姣忔鎺ユ敹涓�涓瓙灞炴�х殑鍚嶇О</ch></para>
+ <para><en>Callback function used with the eidEnumFeatureChildren function. It receives children feature names</en></para>
+ </summary>
+ <param name="name"><para><ch>瀛愬睘鎬у悕绉�</ch></para><para><en>name child feature name</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ </members>
+</doc>
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.deps.json b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.deps.json
index 7dfc6fd..bff8ef2 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.deps.json
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.deps.json
@@ -1827,6 +1827,14 @@
"fileVersion": "4.7.0.2"
}
}
+ },
+ "EasyIDSDK_Net/1.3.0.9252": {
+ "runtime": {
+ "EasyIDSDK_Net.dll": {
+ "assemblyVersion": "1.3.0.9252",
+ "fileVersion": "1.0.0.42745"
+ }
+ }
}
}
},
@@ -2658,6 +2666,11 @@
"type": "reference",
"serviceable": false,
"sha512": ""
+ },
+ "EasyIDSDK_Net/1.3.0.9252": {
+ "type": "reference",
+ "serviceable": false,
+ "sha512": ""
}
}
}
\ No newline at end of file
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.dll b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.dll
index 96467cc..41efc6a 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.dll
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.dll
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.exe b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.exe
index 105005a..fb8c133 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.exe
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.exe
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.pdb b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.pdb
index 3562114..e9a0027 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.pdb
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVision.pdb
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
index c5b5d07..d3da2d2 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
index 1c27551..ced4000 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
index f42c8e4..9e053cb 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
index 8643bdd..349267a 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
index 86b5040..efb6606 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe
index 7400764..69b3e78 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
index 20a997d..cb3123c 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.dll b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.dll
index 49434b3..c49cc4c 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.dll
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.dll
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.pdb b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.pdb
index ef8ba7a..a0146a9 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.pdb
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionControls.pdb
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.dll b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.dll
index 0e016c6..7c91812 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.dll
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.dll
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.pdb b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.pdb
index 5bc6f16..09d18e1 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.pdb
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionFlowNode.pdb
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.dll b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.dll
index e348a43..c2e79b0 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.dll
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.dll
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.pdb b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.pdb
index 0e8737f..0dad076 100644
--- a/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.pdb
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/LB_VisionProcesses.pdb
Binary files differ
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-03/2026-03-31.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-03/2026-03-31.log
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-03/2026-03-31.log
@@ -0,0 +1 @@
+锘�
\ No newline at end of file
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-04/2026-04-01.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-04/2026-04-01.log
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Debug_Log/2026-04/2026-04-01.log
@@ -0,0 +1 @@
+锘�
\ No newline at end of file
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-03/2026-03-31.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-03/2026-03-31.log
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-03/2026-03-31.log
@@ -0,0 +1 @@
+锘�
\ No newline at end of file
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-04/2026-04-01.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-04/2026-04-01.log
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Error_Log/2026-04/2026-04-01.log
@@ -0,0 +1 @@
+锘�
\ No newline at end of file
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-03/2026-03-31.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-03/2026-03-31.log
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-03/2026-03-31.log
@@ -0,0 +1 @@
+锘�
\ No newline at end of file
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-04/2026-04-01.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-04/2026-04-01.log
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Fatal/2026-04/2026-04-01.log
@@ -0,0 +1 @@
+锘�
\ No newline at end of file
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-03/2026-03-31.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-03/2026-03-31.log
new file mode 100644
index 0000000..a9bbeb0
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-03/2026-03-31.log
@@ -0,0 +1,47 @@
+锘�2026-03-31 09:38:59,921 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭棩蹇楃郴缁熷惎鍔ㄦ垚鍔�
+2026-03-31 09:39:06,412 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
+2026-03-31 09:39:06,425 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
+2026-03-31 09:39:06,429 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
+2026-03-31 09:39:06,429 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
+2026-03-31 09:39:06,430 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
+2026-03-31 09:39:06,847 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬垵濮嬪寲閫氳鍙閫氳鍙�0]鎴愬姛
+2026-03-31 09:39:06,854 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳鍙閫氳鍙�0]鍔犺浇瑙﹀彂閫氳
+2026-03-31 09:39:06,855 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳鍔犺浇鎴愬姛
+2026-03-31 09:39:07,082 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氱浉鏈哄姞杞芥垚鍔�
+2026-03-31 09:39:07,089 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�鍙橀噺鍔犺浇鎴愬姛
+2026-03-31 09:39:07,092 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氳繍鍔ㄦ帶鍒跺弬鏁板姞杞芥垚鍔�
+2026-03-31 09:39:07,104 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬厜婧愭帶鍒跺姞杞芥垚鍔�
+2026-03-31 09:39:07,531 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[缁撴潫]
+2026-03-31 09:39:07,628 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[鐩告満鍙栧浘]
+2026-03-31 09:39:07,630 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[寮�濮媇
+2026-03-31 09:39:07,631 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]鍔犺浇鎴愬姛
+2026-03-31 09:39:07,686 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭坊鍔犳祦绋媅娴佺▼0]
+2026-03-31 09:39:07,725 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[缁撴潫]
+2026-03-31 09:39:07,729 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[鐩告満鍙栧浘]
+2026-03-31 09:39:07,730 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[寮�濮媇
+2026-03-31 09:39:07,731 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]鍔犺浇鎴愬姛
+2026-03-31 09:39:07,752 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭坊鍔犳祦绋媅娴佺▼1]
+2026-03-31 09:39:07,753 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬪姞杞芥垚鍔�
+2026-03-31 09:39:07,756 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭缃姞杞芥垚鍔�
+2026-03-31 09:39:07,759 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬪竷灞�鍔犺浇鎴愬姛
+2026-03-31 09:39:07,763 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭〃鏍煎姞杞芥垚鍔�
+2026-03-31 09:39:09,174 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭暟鎹簱鍜岃〃鍒涘缓鎴愬姛锛�
+2026-03-31 09:39:11,820 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳[閫氳鍙�0]鎺ユ敹鍒扮殑娑堟伅"True"
+2026-03-31 09:39:11,880 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭鏌ュ埌鍙瑙﹀彂鐨勬祦绋�,娓呯┖鎵�鏈夋祦绋嬭繍琛屽畬鎴愭爣璁颁綅!
+2026-03-31 09:39:11,890 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]寮�濮嬭繍琛�
+2026-03-31 09:39:11,892 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]寮�濮嬭繍琛�
+2026-03-31 09:39:13,068 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]杩愯鎴愬姛
+2026-03-31 09:39:13,070 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]杩愯鎴愬姛
+2026-03-31 09:39:13,072 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-03-31 09:39:13,074 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-03-31 09:39:18,580 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳[閫氳鍙�0]鎺ユ敹鍒扮殑娑堟伅"True"
+2026-03-31 09:39:18,582 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭鏌ュ埌鍙瑙﹀彂鐨勬祦绋�,娓呯┖鎵�鏈夋祦绋嬭繍琛屽畬鎴愭爣璁颁綅!
+2026-03-31 09:39:18,586 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]寮�濮嬭繍琛�
+2026-03-31 09:39:18,587 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]寮�濮嬭繍琛�
+2026-03-31 09:39:19,430 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]杩愯鎴愬姛
+2026-03-31 09:39:19,467 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-03-31 09:39:19,468 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]杩愯鎴愬姛
+2026-03-31 09:39:19,470 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-03-31 09:39:24,665 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭繍琛岃缃繚瀛樻垚鍔�
+2026-03-31 09:39:24,671 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�鍙橀噺淇濆瓨鎴愬姛
+2026-03-31 09:39:24,673 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�甯冨眬淇濆瓨鎴愬姛
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-04/2026-04-01.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-04/2026-04-01.log
new file mode 100644
index 0000000..14e9853
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Run_Log/2026-04/2026-04-01.log
@@ -0,0 +1,91 @@
+锘�2026-04-01 10:17:32,494 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭棩蹇楃郴缁熷惎鍔ㄦ垚鍔�
+2026-04-01 10:17:38,969 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
+2026-04-01 10:17:38,982 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
+2026-04-01 10:17:38,985 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
+2026-04-01 10:17:38,985 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
+2026-04-01 10:17:38,986 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
+2026-04-01 10:17:39,380 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬垵濮嬪寲閫氳鍙閫氳鍙�0]鎴愬姛
+2026-04-01 10:17:39,387 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳鍙閫氳鍙�0]鍔犺浇瑙﹀彂閫氳
+2026-04-01 10:17:39,388 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳鍔犺浇鎴愬姛
+2026-04-01 10:17:39,616 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氱浉鏈哄姞杞芥垚鍔�
+2026-04-01 10:17:39,673 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氳鐮佸櫒鍔犺浇鎴愬姛
+2026-04-01 10:17:39,681 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�鍙橀噺鍔犺浇鎴愬姛
+2026-04-01 10:17:39,684 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氳繍鍔ㄦ帶鍒跺弬鏁板姞杞芥垚鍔�
+2026-04-01 10:17:39,690 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬厜婧愭帶鍒跺姞杞芥垚鍔�
+2026-04-01 10:17:40,069 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[缁撴潫]
+2026-04-01 10:17:40,172 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[鐩告満鍙栧浘]
+2026-04-01 10:17:40,174 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[寮�濮媇
+2026-04-01 10:17:40,174 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]鍔犺浇鎴愬姛
+2026-04-01 10:17:40,242 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭坊鍔犳祦绋媅娴佺▼0]
+2026-04-01 10:17:40,265 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[缁撴潫]
+2026-04-01 10:17:40,267 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[鐩告満鍙栧浘]
+2026-04-01 10:17:40,267 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[寮�濮媇
+2026-04-01 10:17:40,268 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]鍔犺浇鎴愬姛
+2026-04-01 10:17:40,288 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭坊鍔犳祦绋媅娴佺▼1]
+2026-04-01 10:17:40,288 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬪姞杞芥垚鍔�
+2026-04-01 10:17:40,293 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭缃姞杞芥垚鍔�
+2026-04-01 10:17:40,296 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬪竷灞�鍔犺浇鎴愬姛
+2026-04-01 10:17:40,298 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭〃鏍煎姞杞芥垚鍔�
+2026-04-01 10:17:41,700 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭暟鎹簱鍜岃〃鍒涘缓鎴愬姛锛�
+2026-04-01 10:18:01,830 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳[閫氳鍙�0]鎺ユ敹鍒扮殑娑堟伅"True"
+2026-04-01 10:18:01,877 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭鏌ュ埌鍙瑙﹀彂鐨勬祦绋�,娓呯┖鎵�鏈夋祦绋嬭繍琛屽畬鎴愭爣璁颁綅!
+2026-04-01 10:18:01,970 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]寮�濮嬭繍琛�
+2026-04-01 10:18:01,973 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]寮�濮嬭繍琛�
+2026-04-01 10:18:03,094 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]杩愯鎴愬姛
+2026-04-01 10:18:03,098 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]杩愯鎴愬姛
+2026-04-01 10:18:03,102 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-04-01 10:18:03,103 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-04-01 10:18:24,762 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[Halcon2D_鍥惧儚澧炲己宸ュ叿]
+2026-04-01 10:18:36,966 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭繍琛岃缃繚瀛樻垚鍔�
+2026-04-01 10:18:36,970 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�鍙橀噺淇濆瓨鎴愬姛
+2026-04-01 10:18:36,973 [12] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�甯冨眬淇濆瓨鎴愬姛
+2026-04-01 10:19:54,519 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭棩蹇楃郴缁熷惎鍔ㄦ垚鍔�
+2026-04-01 10:20:00,128 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Run
+2026-04-01 10:20:00,131 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Debug
+2026-04-01 10:20:00,132 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Error
+2026-04-01 10:20:00,133 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Fatal
+2026-04-01 10:20:00,133 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氣劰锔� 鐩綍宸插瓨鍦�: D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\Log\Warn
+2026-04-01 10:20:00,526 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬垵濮嬪寲閫氳鍙閫氳鍙�0]鎴愬姛
+2026-04-01 10:20:00,529 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳鍙閫氳鍙�0]鍔犺浇瑙﹀彂閫氳
+2026-04-01 10:20:00,530 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳鍔犺浇鎴愬姛
+2026-04-01 10:20:00,736 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氱浉鏈哄姞杞芥垚鍔�
+2026-04-01 10:20:00,768 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氳鐮佸櫒鍔犺浇鎴愬姛
+2026-04-01 10:20:00,775 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�鍙橀噺鍔犺浇鎴愬姛
+2026-04-01 10:20:00,777 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氳繍鍔ㄦ帶鍒跺弬鏁板姞杞芥垚鍔�
+2026-04-01 10:20:00,783 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬厜婧愭帶鍒跺姞杞芥垚鍔�
+2026-04-01 10:20:01,172 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[缁撴潫]
+2026-04-01 10:20:01,258 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[鐩告満鍙栧浘]
+2026-04-01 10:20:01,259 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[寮�濮媇
+2026-04-01 10:20:01,395 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]娣诲姞姝ラ[Halcon2D_鍥惧儚澧炲己宸ュ叿]
+2026-04-01 10:20:01,410 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]鍔犺浇鎴愬姛
+2026-04-01 10:20:01,445 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭坊鍔犳祦绋媅娴佺▼0]
+2026-04-01 10:20:01,463 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[缁撴潫]
+2026-04-01 10:20:01,464 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[鐩告満鍙栧浘]
+2026-04-01 10:20:01,465 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]娣诲姞姝ラ[寮�濮媇
+2026-04-01 10:20:01,466 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]鍔犺浇鎴愬姛
+2026-04-01 10:20:01,491 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭坊鍔犳祦绋媅娴佺▼1]
+2026-04-01 10:20:01,492 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬪姞杞芥垚鍔�
+2026-04-01 10:20:01,495 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭缃姞杞芥垚鍔�
+2026-04-01 10:20:01,498 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬪竷灞�鍔犺浇鎴愬姛
+2026-04-01 10:20:01,503 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭〃鏍煎姞杞芥垚鍔�
+2026-04-01 10:20:02,784 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭暟鎹簱鍜岃〃鍒涘缓鎴愬姛锛�
+2026-04-01 10:20:34,094 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]绉婚櫎姝ラ[Halcon2D_鍥惧儚澧炲己宸ュ叿]
+2026-04-01 10:20:38,009 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳[閫氳鍙�0]鎺ユ敹鍒扮殑娑堟伅"True"
+2026-04-01 10:20:38,134 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭鏌ュ埌鍙瑙﹀彂鐨勬祦绋�,娓呯┖鎵�鏈夋祦绋嬭繍琛屽畬鎴愭爣璁颁綅!
+2026-04-01 10:20:38,181 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]寮�濮嬭繍琛�
+2026-04-01 10:20:38,327 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]寮�濮嬭繍琛�
+2026-04-01 10:20:39,290 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]杩愯鎴愬姛
+2026-04-01 10:20:39,293 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]杩愯鎴愬姛
+2026-04-01 10:20:39,296 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-04-01 10:20:39,298 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-04-01 10:20:46,648 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氶�氳[閫氳鍙�0]鎺ユ敹鍒扮殑娑堟伅"True"
+2026-04-01 10:20:46,650 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭鏌ュ埌鍙瑙﹀彂鐨勬祦绋�,娓呯┖鎵�鏈夋祦绋嬭繍琛屽畬鎴愭爣璁颁綅!
+2026-04-01 10:20:46,654 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]寮�濮嬭繍琛�
+2026-04-01 10:20:46,656 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]寮�濮嬭繍琛�
+2026-04-01 10:20:47,488 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼1]杩愯鎴愬姛
+2026-04-01 10:20:47,504 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-04-01 10:20:47,506 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]杩愯鎴愬姛
+2026-04-01 10:20:47,507 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬彂閫佺粰[閫氳鍙�0]浜嗘秷鎭�"True"
+2026-04-01 10:20:57,194 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋嬭繍琛岃缃繚瀛樻垚鍔�
+2026-04-01 10:20:57,198 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�鍙橀噺淇濆瓨鎴愬姛
+2026-04-01 10:20:57,200 [13] INFO LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氬叏灞�甯冨眬淇濆瓨鎴愬姛
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-03/2026-03-31.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-03/2026-03-31.log
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-03/2026-03-31.log
@@ -0,0 +1 @@
+锘�
\ No newline at end of file
diff --git a/LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-04/2026-04-01.log b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-04/2026-04-01.log
new file mode 100644
index 0000000..f33c657
--- /dev/null
+++ b/LB_SmartVision/bin/Debug/net8.0-windows/Log/Warn/2026-04/2026-04-01.log
@@ -0,0 +1 @@
+锘�2026-04-01 10:20:30,398 [13] WARN LB_SmartVisionCommon.AsyncLogHelper - 璁板綍淇℃伅锛氭祦绋媅娴佺▼0]姝ラ"Halcon2D_鍥惧儚澧炲己宸ュ叿"鏇存柊浜�
diff --git "a/LB_SmartVision/bin/Debug/net8.0-windows/\346\211\200\346\234\211\344\272\247\345\223\201/Product0/A_BarcodeReaderConnections.json" "b/LB_SmartVision/bin/Debug/net8.0-windows/\346\211\200\346\234\211\344\272\247\345\223\201/Product0/A_BarcodeReaderConnections.json"
new file mode 100644
index 0000000..22fdca1
--- /dev/null
+++ "b/LB_SmartVision/bin/Debug/net8.0-windows/\346\211\200\346\234\211\344\272\247\345\223\201/Product0/A_BarcodeReaderConnections.json"
@@ -0,0 +1 @@
+锘縶}
\ No newline at end of file
diff --git "a/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260331/\346\265\201\347\250\2130.csv" "b/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260331/\346\265\201\347\250\2130.csv"
new file mode 100644
index 0000000..b4416bc
--- /dev/null
+++ "b/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260331/\346\265\201\347\250\2130.csv"
@@ -0,0 +1,3 @@
+锘垮悕绉�,鏃堕棿,鑰楁椂,缁撴灉,鍘熷洜,鏁版嵁0,鏁版嵁1,鏁版嵁2
+娴佺▼0,'09:39:14.07,1018.66,True,杩愯鎴愬姛,True,True,True
+娴佺▼0,'09:39:19.78,838.44,True,杩愯鎴愬姛,True,True,True
diff --git "a/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260331/\346\265\201\347\250\2131.csv" "b/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260331/\346\265\201\347\250\2131.csv"
new file mode 100644
index 0000000..ac95857
--- /dev/null
+++ "b/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260331/\346\265\201\347\250\2131.csv"
@@ -0,0 +1,3 @@
+锘垮悕绉�,鏃堕棿,鑰楁椂,缁撴灉,鍘熷洜,鏁版嵁0,鏁版嵁1,鏁版嵁2
+娴佺▼1,'09:39:14.03,1018.72,True,杩愯鎴愬姛,True,True,True
+娴佺▼1,'09:39:19.89,838.47,True,杩愯鎴愬姛,True,True,True
diff --git "a/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260401/\346\265\201\347\250\2130.csv" "b/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260401/\346\265\201\347\250\2130.csv"
new file mode 100644
index 0000000..a9bc840
--- /dev/null
+++ "b/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260401/\346\265\201\347\250\2130.csv"
@@ -0,0 +1,4 @@
+锘垮悕绉�,鏃堕棿,鑰楁椂,缁撴灉,鍘熷洜,鏁版嵁0,鏁版嵁1,鏁版嵁2
+娴佺▼0,'10:18:03.75,1013.18,True,杩愯鎴愬姛,True,True,True
+娴佺▼0,'10:20:40.19,953.19,True,杩愯鎴愬姛,True,True,True
+娴佺▼0,'10:20:47.84,812.75,True,杩愯鎴愬姛,True,True,True
diff --git "a/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260401/\346\265\201\347\250\2131.csv" "b/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260401/\346\265\201\347\250\2131.csv"
new file mode 100644
index 0000000..8205e2d
--- /dev/null
+++ "b/LB_SmartVision/bin/Debug/net8.0-windows/\347\224\237\344\272\247\346\225\260\346\215\256/20260401/\346\265\201\347\250\2131.csv"
@@ -0,0 +1,4 @@
+锘垮悕绉�,鏃堕棿,鑰楁椂,缁撴灉,鍘熷洜,鏁版嵁0,鏁版嵁1,鏁版嵁2
+娴佺▼1,'10:18:04.06,1013.20,True,杩愯鎴愬姛,True,True,True
+娴佺▼1,'10:20:40.13,953.15,True,杩愯鎴愬姛,True,True,True
+娴佺▼1,'10:20:47.80,812.99,True,杩愯鎴愬姛,True,True,True
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfo.cs b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfo.cs
index 6a2cc59..2d6ce96 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfo.cs
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_SmartVision")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+63394fccfd4a07428d93f106a46a9393d8a9dd54")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ed2cb324d534291a221bb5a8cabe8ff48b3a46f3")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_SmartVision")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_SmartVision")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfoInputs.cache b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfoInputs.cache
index 0d46229..ef84a1a 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfoInputs.cache
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.AssemblyInfoInputs.cache
@@ -1 +1 @@
-f1be0604688d828d358159dfe3babcc37d31955bfe283611de10d376367119cb
+3378b4046b2022bfba2e8105f0cc07b12550d7d7b4504c763d9e0b5fc729ff86
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReaderForm.resources b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReaderForm.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReaderForm.resources
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReadersEditPage.resources b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReadersEditPage.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReadersEditPage.resources
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.CreateBarcodeReaderForm.resources b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.CreateBarcodeReaderForm.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.Forms.Pages.BarcodeReaderPage.CreateBarcodeReaderForm.resources
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.AssemblyReference.cache b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.AssemblyReference.cache
index 7102246..b758c80 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.AssemblyReference.cache
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.AssemblyReference.cache
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.CoreCompileInputs.cache b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.CoreCompileInputs.cache
index 43cf680..f52b9e1 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.CoreCompileInputs.cache
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-035cb43308ce30472708ec07677cf794cf5e488f66c503573cc17a85fc73e1c2
+e070d96e807d2d3658b93cd87a9f37b7899ef12edea4ebee52144b5776675dcb
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.FileListAbsolute.txt b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.FileListAbsolute.txt
index 6aa9b26..d91ea76 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.FileListAbsolute.txt
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.FileListAbsolute.txt
@@ -713,3 +713,8 @@
D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\obj\Debug\net8.0-windows\LB_SmartVision.pdb
D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\obj\Debug\net8.0-windows\LB_SmartVision.genruntimeconfig.cache
D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\obj\Debug\net8.0-windows\ref\LB_SmartVision.dll
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\obj\Debug\net8.0-windows\LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReaderForm.resources
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\obj\Debug\net8.0-windows\LB_SmartVision.Forms.Pages.BarcodeReaderPage.BarcodeReadersEditPage.resources
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\obj\Debug\net8.0-windows\LB_SmartVision.Forms.Pages.BarcodeReaderPage.CreateBarcodeReaderForm.resources
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\EasyIDSDK_Net.dll
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVision\bin\Debug\net8.0-windows\EasyIDSDK_Net.xml
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.GenerateResource.cache b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.GenerateResource.cache
index 2edf318..487d911 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.GenerateResource.cache
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.csproj.GenerateResource.cache
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.dll b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.dll
index 96467cc..41efc6a 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.dll
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.dll
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.pdb b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.pdb
index 3562114..e9a0027 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.pdb
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/LB_SmartVision.pdb
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/apphost.exe b/LB_SmartVision/obj/Debug/net8.0-windows/apphost.exe
index 105005a..fb8c133 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/apphost.exe
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/apphost.exe
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/ref/LB_SmartVision.dll b/LB_SmartVision/obj/Debug/net8.0-windows/ref/LB_SmartVision.dll
index 8b7d394..0850b6c 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/ref/LB_SmartVision.dll
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/ref/LB_SmartVision.dll
Binary files differ
diff --git a/LB_SmartVision/obj/Debug/net8.0-windows/refint/LB_SmartVision.dll b/LB_SmartVision/obj/Debug/net8.0-windows/refint/LB_SmartVision.dll
index 8b7d394..0850b6c 100644
--- a/LB_SmartVision/obj/Debug/net8.0-windows/refint/LB_SmartVision.dll
+++ b/LB_SmartVision/obj/Debug/net8.0-windows/refint/LB_SmartVision.dll
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll b/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
index c5b5d07..d3da2d2 100644
--- a/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
+++ b/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb b/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
index 1c27551..ced4000 100644
--- a/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
+++ b/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll b/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
index f42c8e4..9e053cb 100644
--- a/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
+++ b/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb b/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
index 8643bdd..349267a 100644
--- a/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
+++ b/LB_SmartVisionCameraDevice/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfo.cs b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfo.cs
index 2e6b4bd..d4bb670 100644
--- a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfo.cs
+++ b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_SmartVisionCameraDevice")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7ceaa09e4baefe84bad268b56bbf8b8f3f1d0f99")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ed2cb324d534291a221bb5a8cabe8ff48b3a46f3")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_SmartVisionCameraDevice")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_SmartVisionCameraDevice")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfoInputs.cache b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfoInputs.cache
index b0bb90f..c7e87e6 100644
--- a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfoInputs.cache
+++ b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.AssemblyInfoInputs.cache
@@ -1 +1 @@
-bed73338798591dec6aeb3b35baeb6c04267679f3e432c5d1c7e58c14c0550a1
+ede639e61be9b535fd195321807cbd74a59604b4e75cd516a0f1617df43a4263
diff --git a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.csproj.AssemblyReference.cache b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.csproj.AssemblyReference.cache
index 1301354..53c3945 100644
--- a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.csproj.AssemblyReference.cache
+++ b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.csproj.AssemblyReference.cache
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
index c5b5d07..d3da2d2 100644
--- a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
+++ b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.dll
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
index 1c27551..ced4000 100644
--- a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
+++ b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/LB_SmartVisionCameraDevice.pdb
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/ref/LB_SmartVisionCameraDevice.dll b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/ref/LB_SmartVisionCameraDevice.dll
index cd41a12..3fade3a 100644
--- a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/ref/LB_SmartVisionCameraDevice.dll
+++ b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/ref/LB_SmartVisionCameraDevice.dll
Binary files differ
diff --git a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/refint/LB_SmartVisionCameraDevice.dll b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/refint/LB_SmartVisionCameraDevice.dll
index cd41a12..3fade3a 100644
--- a/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/refint/LB_SmartVisionCameraDevice.dll
+++ b/LB_SmartVisionCameraDevice/obj/Debug/net8.0-windows/refint/LB_SmartVisionCameraDevice.dll
Binary files differ
diff --git a/LB_SmartVisionCommon/ImageEnhancementData.cs b/LB_SmartVisionCommon/ImageEnhancementData.cs
new file mode 100644
index 0000000..7d858a1
--- /dev/null
+++ b/LB_SmartVisionCommon/ImageEnhancementData.cs
@@ -0,0 +1,75 @@
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LB_SmartVisionCommon
+{
+ /// <summary>
+ /// 璁板綍鍥惧儚澧炲己绠楀瓙鍙傛暟
+ /// </summary>
+ [JsonObject(MemberSerialization.OptOut)]
+ [TypeConverter(typeof(PropertySorter))]
+ public class RecordImageEnhancementData
+ {
+ /// <summary>
+ /// 绠楀瓙绫诲瀷
+ /// </summary>
+ [Category("RecordImageEnhancementData"), PropertyOrder(1)]
+ [DisplayName("绠楀瓙绫诲瀷")]
+ [Browsable(true)]
+ public ImageEnhancementDataType FilterName { get; set; } = ImageEnhancementDataType.姣斾緥澧炲己_ScaleImageMax;
+ /// <summary>
+ /// 鎺╄啘瀹藉害
+ /// </summary>
+ [Category("RecordImageEnhancementData"), PropertyOrder(2)]
+ [DisplayName("鎺╄啘瀹藉害")]
+ [Browsable(true)]
+ public string MaskWidth { get; set; }
+ /// <summary>
+ /// 鎺╄啘楂樺害
+ /// </summary>
+ [Category("RecordImageEnhancementData"), PropertyOrder(3)]
+ [DisplayName("鎺╄啘楂樺害")]
+ [Browsable(true)]
+ public string MaskHight { get; set; }
+ /// <summary>
+ /// 澧炲己鍥犲瓙
+ /// </summary>
+ [Category("RecordImageEnhancementData"), PropertyOrder(4)]
+ [DisplayName("澧炲己鍥犲瓙")]
+ [Browsable(true)]
+ public string Factor { get; set; }
+
+ /// <summary>
+ /// 澶嶅埗鐢ㄦ埛鏁版嵁
+ /// </summary>
+ public RecordImageEnhancementData Clone()
+ {
+ return new RecordImageEnhancementData
+ {
+ MaskWidth = this.MaskWidth,
+ MaskHight = this.MaskHight,
+ Factor = this.Factor,
+ FilterName = this.FilterName
+ };
+ }
+ }
+ /// <summary>
+ /// OperatorType
+ /// </summary>
+ public enum ImageEnhancementDataType
+ {
+ /// </summary>
+ 杈圭紭澧炲己_ImageEmphasize,
+
+ /// </summary>
+ 鐩存柟鍥惧潎琛″寲_EquHistoImage,
+
+ /// </summary>
+ 姣斾緥澧炲己_ScaleImageMax
+ }
+}
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
+ }
+}
diff --git a/LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll b/LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
index f42c8e4..9e053cb 100644
--- a/LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
+++ b/LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb b/LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
index 8643bdd..349267a 100644
--- a/LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
+++ b/LB_SmartVisionCommon/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
Binary files differ
diff --git a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfo.cs b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfo.cs
index b836236..595942d 100644
--- a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfo.cs
+++ b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_SmartVisionCommon")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7ceaa09e4baefe84bad268b56bbf8b8f3f1d0f99")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ed2cb324d534291a221bb5a8cabe8ff48b3a46f3")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_SmartVisionCommon")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_SmartVisionCommon")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfoInputs.cache b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfoInputs.cache
index 1f205d9..9c99500 100644
--- a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfoInputs.cache
+++ b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.AssemblyInfoInputs.cache
@@ -1 +1 @@
-959d6ade6d4e0366ee7cef17995f86cfc0528c7ac16079629ae4dc230ce8ff8b
+9d753246b7f4ac814ba9d501657d9af8926f9753be106e3f150f86720a6fc02b
diff --git a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.csproj.CoreCompileInputs.cache b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.csproj.CoreCompileInputs.cache
index d268572..7c53133 100644
--- a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.csproj.CoreCompileInputs.cache
+++ b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-34ea6d38552704606141803a4c5cdc34954836eff6bf21fb8665e06b5742f4e2
+8aaf5fee0a358a502d7857b6c1ee35eb5c80d448425ec87b02720ed2b6d56b4c
diff --git a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.dll b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.dll
index f42c8e4..9e053cb 100644
--- a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.dll
+++ b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.pdb b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
index 8643bdd..349267a 100644
--- a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
+++ b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
Binary files differ
diff --git a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/ref/LB_SmartVisionCommon.dll b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/ref/LB_SmartVisionCommon.dll
index d7c64b2..aaf06e4 100644
--- a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/ref/LB_SmartVisionCommon.dll
+++ b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/ref/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/refint/LB_SmartVisionCommon.dll b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/refint/LB_SmartVisionCommon.dll
index d7c64b2..aaf06e4 100644
--- a/LB_SmartVisionCommon/obj/Debug/net8.0-windows/refint/LB_SmartVisionCommon.dll
+++ b/LB_SmartVisionCommon/obj/Debug/net8.0-windows/refint/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
index f42c8e4..9e053cb 100644
--- a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
+++ b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
index 8643bdd..349267a 100644
--- a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
+++ b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionCommon.pdb
Binary files differ
diff --git a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
index 86b5040..efb6606 100644
--- a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
+++ b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
Binary files differ
diff --git a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe
index 7400764..69b3e78 100644
--- a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe
+++ b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.exe
Binary files differ
diff --git a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
index 20a997d..cb3123c 100644
--- a/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
+++ b/LB_SmartVisionLoginUI/bin/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
Binary files differ
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfo.cs b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfo.cs
index dc0e247..f3e2cda 100644
--- a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfo.cs
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_SmartVisionLoginUI")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7ceaa09e4baefe84bad268b56bbf8b8f3f1d0f99")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ed2cb324d534291a221bb5a8cabe8ff48b3a46f3")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_SmartVisionLoginUI")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_SmartVisionLoginUI")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfoInputs.cache b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfoInputs.cache
index 023277b..ed36337 100644
--- a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfoInputs.cache
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.AssemblyInfoInputs.cache
@@ -1 +1 @@
-8f65dabee331a7f22a146b35a197ab55bc73b8debd68827fa488f26f95df6060
+9134a2d475e3b7b78da89dc0fcb292e0f2748a8ea096e5d2685dc1fec75612a4
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.csproj.AssemblyReference.cache b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.csproj.AssemblyReference.cache
index ec51c4f..a3b49f2 100644
--- a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.csproj.AssemblyReference.cache
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.csproj.AssemblyReference.cache
Binary files differ
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
index 86b5040..efb6606 100644
--- a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.dll
Binary files differ
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
index 20a997d..cb3123c 100644
--- a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI.pdb
Binary files differ
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.AssemblyInfo.cs b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.AssemblyInfo.cs
new file mode 100644
index 0000000..f3e2cda
--- /dev/null
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.AssemblyInfo.cs
@@ -0,0 +1,25 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
+// 杩愯鏃剁増鏈�:4.0.30319.42000
+//
+// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
+// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便��
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("LB_SmartVisionLoginUI")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ed2cb324d534291a221bb5a8cabe8ff48b3a46f3")]
+[assembly: System.Reflection.AssemblyProductAttribute("LB_SmartVisionLoginUI")]
+[assembly: System.Reflection.AssemblyTitleAttribute("LB_SmartVisionLoginUI")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
+[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
+
+// 鐢� MSBuild WriteCodeFragment 绫荤敓鎴愩��
+
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.AssemblyInfoInputs.cache b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..ed36337
--- /dev/null
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+9134a2d475e3b7b78da89dc0fcb292e0f2748a8ea096e5d2685dc1fec75612a4
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.GeneratedMSBuildEditorConfig.editorconfig b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..e57f726
--- /dev/null
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,24 @@
+is_global = true
+build_property.ApplicationManifest =
+build_property.StartupObject =
+build_property.ApplicationDefaultFont =
+build_property.ApplicationHighDpiMode =
+build_property.ApplicationUseCompatibleTextRendering =
+build_property.ApplicationVisualStyles =
+build_property.TargetFramework = net8.0-windows
+build_property.TargetFrameworkIdentifier = .NETCoreApp
+build_property.TargetFrameworkVersion = v8.0
+build_property.TargetPlatformMinVersion = 7.0
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = LB_SmartVisionLoginUI
+build_property.ProjectDir = D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_SmartVisionLoginUI\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.CsWinRTUseWindowsUIXamlProjections = false
+build_property.EffectiveAnalysisLevelStyle = 8.0
+build_property.EnableCodeStyleSeverity =
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.GlobalUsings.g.cs b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.GlobalUsings.g.cs
new file mode 100644
index 0000000..3c55c3d
--- /dev/null
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+// <auto-generated/>
+global using System;
+global using System.Collections.Generic;
+global using System.Drawing;
+global using System.Linq;
+global using System.Threading;
+global using System.Threading.Tasks;
+global using System.Windows.Forms;
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.assets.cache b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.assets.cache
new file mode 100644
index 0000000..3b3d208
--- /dev/null
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.assets.cache
Binary files differ
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.csproj.BuildWithSkipAnalyzers b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/LB_SmartVisionLoginUI_d14qog2d_wpftmp.csproj.BuildWithSkipAnalyzers
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/apphost.exe b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/apphost.exe
index 7400764..69b3e78 100644
--- a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/apphost.exe
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/apphost.exe
Binary files differ
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/ref/LB_SmartVisionLoginUI.dll b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/ref/LB_SmartVisionLoginUI.dll
index 9e82f5f..04b4ba4 100644
--- a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/ref/LB_SmartVisionLoginUI.dll
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/ref/LB_SmartVisionLoginUI.dll
Binary files differ
diff --git a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/refint/LB_SmartVisionLoginUI.dll b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/refint/LB_SmartVisionLoginUI.dll
index 9e82f5f..04b4ba4 100644
--- a/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/refint/LB_SmartVisionLoginUI.dll
+++ b/LB_SmartVisionLoginUI/obj/Debug/net8.0-windows/refint/LB_SmartVisionLoginUI.dll
Binary files differ
diff --git a/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll b/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
index f42c8e4..9e053cb 100644
--- a/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
+++ b/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb b/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
index 8643bdd..349267a 100644
--- a/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
+++ b/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
Binary files differ
diff --git a/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll b/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll
index 49434b3..c49cc4c 100644
--- a/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll
+++ b/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll
Binary files differ
diff --git a/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb b/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb
index ef8ba7a..a0146a9 100644
--- a/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb
+++ b/LB_VisionControls/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb
Binary files differ
diff --git a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfo.cs b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfo.cs
index 4231808..560b242 100644
--- a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfo.cs
+++ b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_VisionControls")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7ceaa09e4baefe84bad268b56bbf8b8f3f1d0f99")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ed2cb324d534291a221bb5a8cabe8ff48b3a46f3")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_VisionControls")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_VisionControls")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfoInputs.cache b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfoInputs.cache
index bfe0f10..757eabc 100644
--- a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfoInputs.cache
+++ b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.AssemblyInfoInputs.cache
@@ -1 +1 @@
-89a50fdb4d4ab973e6c2e9b29c1cb73fad0b4c6a0f4512e34844ff15879cae0f
+ead55f714a613a4000a0b9ca0dd6057b89bac794d50a2b202760bc2913a3c2af
diff --git a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.csproj.AssemblyReference.cache b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.csproj.AssemblyReference.cache
index ec05ee4..684ed15 100644
--- a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.csproj.AssemblyReference.cache
+++ b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.csproj.AssemblyReference.cache
Binary files differ
diff --git a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.dll b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.dll
index 49434b3..c49cc4c 100644
--- a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.dll
+++ b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.dll
Binary files differ
diff --git a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.pdb b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.pdb
index ef8ba7a..a0146a9 100644
--- a/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.pdb
+++ b/LB_VisionControls/obj/Debug/net8.0-windows7.0/LB_VisionControls.pdb
Binary files differ
diff --git a/LB_VisionControls/obj/Debug/net8.0-windows7.0/ref/LB_VisionControls.dll b/LB_VisionControls/obj/Debug/net8.0-windows7.0/ref/LB_VisionControls.dll
index fce239e..738d657 100644
--- a/LB_VisionControls/obj/Debug/net8.0-windows7.0/ref/LB_VisionControls.dll
+++ b/LB_VisionControls/obj/Debug/net8.0-windows7.0/ref/LB_VisionControls.dll
Binary files differ
diff --git a/LB_VisionControls/obj/Debug/net8.0-windows7.0/refint/LB_VisionControls.dll b/LB_VisionControls/obj/Debug/net8.0-windows7.0/refint/LB_VisionControls.dll
index fce239e..738d657 100644
--- a/LB_VisionControls/obj/Debug/net8.0-windows7.0/refint/LB_VisionControls.dll
+++ b/LB_VisionControls/obj/Debug/net8.0-windows7.0/refint/LB_VisionControls.dll
Binary files differ
diff --git a/LB_VisionFlowNode/IFlowContext.cs b/LB_VisionFlowNode/IFlowContext.cs
index d4a1fe0..b2818f6 100644
--- a/LB_VisionFlowNode/IFlowContext.cs
+++ b/LB_VisionFlowNode/IFlowContext.cs
@@ -297,6 +297,10 @@
[Node("Halcon2D_鎵剧嚎宸ュ叿", "Halcon2D绠楁硶", "Basic", "Halcon2D_鎵剧嚎宸ュ叿")]
public void Halcon2D_鎵剧嚎宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+
+ [Node("Halcon2D_鍥惧儚澧炲己宸ュ叿", "Halcon2D绠楁硶", "Basic", "Halcon2D_鍥惧儚澧炲己宸ュ叿")]
+ public void Halcon2D_鍥惧儚澧炲己宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+
#endregion
#region 鍒嗗壊妯″瀷
diff --git a/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll b/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
index f42c8e4..9e053cb 100644
--- a/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
+++ b/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb b/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
index 8643bdd..349267a 100644
--- a/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
+++ b/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
Binary files differ
diff --git a/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll b/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll
index 0e016c6..7c91812 100644
--- a/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll
+++ b/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll
Binary files differ
diff --git a/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb b/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb
index 5bc6f16..09d18e1 100644
--- a/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb
+++ b/LB_VisionFlowNode/bin/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb
Binary files differ
diff --git a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfo.cs b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfo.cs
index 996e28c..08e7113 100644
--- a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfo.cs
+++ b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_VisionFlowNode")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7ceaa09e4baefe84bad268b56bbf8b8f3f1d0f99")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ed2cb324d534291a221bb5a8cabe8ff48b3a46f3")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_VisionFlowNode")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_VisionFlowNode")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfoInputs.cache b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfoInputs.cache
index 7d11e26..89f3146 100644
--- a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfoInputs.cache
+++ b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.AssemblyInfoInputs.cache
@@ -1 +1 @@
-f2a1c49568c954783f75f7dba61ffbc2d35373dd288bf0e3dacff3f935221de7
+8fdb696bb7a95ebe136dd8c56256b8f530d125788c5d2b81fe04f0c464672df5
diff --git a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.csproj.AssemblyReference.cache b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.csproj.AssemblyReference.cache
index 649740a..4274f58 100644
--- a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.csproj.AssemblyReference.cache
+++ b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.csproj.AssemblyReference.cache
Binary files differ
diff --git a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll
index 0e016c6..7c91812 100644
--- a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll
+++ b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.dll
Binary files differ
diff --git a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb
index 5bc6f16..09d18e1 100644
--- a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb
+++ b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/LB_VisionFlowNode.pdb
Binary files differ
diff --git a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/ref/LB_VisionFlowNode.dll b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/ref/LB_VisionFlowNode.dll
index 9c90323..065ee40 100644
--- a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/ref/LB_VisionFlowNode.dll
+++ b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/ref/LB_VisionFlowNode.dll
Binary files differ
diff --git a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/refint/LB_VisionFlowNode.dll b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/refint/LB_VisionFlowNode.dll
index 9c90323..065ee40 100644
--- a/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/refint/LB_VisionFlowNode.dll
+++ b/LB_VisionFlowNode/obj/Debug/net8.0-windows7.0/refint/LB_VisionFlowNode.dll
Binary files differ
diff --git a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
index 00ee1d4..77c36f3 100644
--- a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
+++ b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
@@ -4127,6 +4127,94 @@
}
/// <summary>
+ /// 鍥惧儚澧炲己绠楁硶-杈圭紭澧炲己
+ /// </summary>
+ /// <param name="ho_Image">寰呮祴鍥剧墖</param>
+ /// <param name="hv_ImageEnhancementType">婊ゆ尝鍣ㄧ被鍨�(mean/gauss/median)</param>
+ /// <param name="hv_Wid">鎺╄啘瀹�</param>
+ /// <param name="hv_High">鎺╄啘楂�</param>
+ /// <param name="hv_Fac">澧炲己鍥犲瓙</param>
+
+ public static void ImageEnhancement(HObject ho_Image, out HObject ho_OutImage, string hv_ImageEnhancementType, int hv_Wid, int hv_High, double hv_Fac)
+ {
+ HOperatorSet.GenEmptyObj(out ho_OutImage);
+
+ try
+ {
+ // 鏍规嵁婊ゆ尝鍣ㄧ被鍨嬫墽琛岀浉搴旀搷浣�
+ switch (hv_ImageEnhancementType.ToLower())
+ {
+ case "emphasize":
+ HOperatorSet.Emphasize(ho_Image, out ho_OutImage, hv_Wid, hv_High, hv_Fac);
+ break;
+
+ case "scaleimagemax":
+ HOperatorSet.ScaleImageMax(ho_Image, out ho_OutImage);
+ break;
+
+ case "equhisto":
+ HOperatorSet.EquHistoImage(ho_Image, out ho_OutImage);
+ break;
+
+ default:
+ throw new ArgumentException($"涓嶆敮鎸佺殑婊ゆ尝鍣ㄧ被鍨�: {hv_ImageEnhancementType}");
+ }
+ }
+ catch (Exception ex)
+ {
+ // 纭繚寮傚父鏃堕噴鏀捐祫婧�
+ ho_OutImage?.Dispose();
+ throw new Exception($"鍥惧儚婊ゆ尝澶辫触: {ex.Message}", ex);
+ }
+ }
+
+ /// <summary>
+ /// 鍥惧儚婊ゆ尝
+ /// </summary>
+ /// <param name="ho_Image">寰呮祴鍥剧墖</param>
+ /// <param name="ho_OutImage">杈撳嚭鍥剧墖</param>
+ /// <param name="hv_FilterType">婊ゆ尝鍣ㄧ被鍨�(mean/gauss/median)</param>
+ /// <param name="hv_Wid">鎺╄啘瀹�</param>
+ /// <param name="hv_High">鎺╄啘楂�</param>
+ /// <param name="hv_Size">楂樻柉鏍稿昂瀵�</param>
+ public static void Filter(HObject ho_Image, out HObject ho_OutImage, string hv_FilterType, int hv_Wid, int hv_High, int hv_Size)
+ {
+ // 鍒濆鍖栬緭鍑哄璞�
+ HOperatorSet.GenEmptyObj(out ho_OutImage);
+
+ try
+ {
+ // 鏍规嵁婊ゆ尝鍣ㄧ被鍨嬫墽琛岀浉搴旀搷浣�
+ switch (hv_FilterType.ToLower())
+ {
+ case "mean":
+ HOperatorSet.MeanImage(ho_Image, out ho_OutImage, hv_Wid, hv_High);
+ break;
+
+ case "gauss":
+ case "guass": // 鍏煎鎷煎啓閿欒
+ HOperatorSet.GaussFilter(ho_Image, out ho_OutImage, hv_Size);
+ break;
+
+ case "median":
+ HOperatorSet.MedianRect(ho_Image, out ho_OutImage, hv_Wid, hv_High);
+ break;
+
+ default:
+ throw new ArgumentException($"涓嶆敮鎸佺殑婊ゆ尝鍣ㄧ被鍨�: {hv_FilterType}");
+ }
+ }
+ catch (Exception ex)
+ {
+ // 纭繚寮傚父鏃堕噴鏀捐祫婧�
+ ho_OutImage?.Dispose();
+ throw new Exception($"鍥惧儚婊ゆ尝澶辫触: {ex.Message}", ex);
+ }
+ }
+
+
+
+ /// <summary>
/// 鍗″昂绠楁硶
/// </summary>
/// <param name="ho_Image">寰呮祴鍥剧墖</param>
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs
new file mode 100644
index 0000000..5e47973
--- /dev/null
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementTool.cs
@@ -0,0 +1,222 @@
+锘縰sing HalconDotNet;
+using LB_SmartVisionCommon;
+using LB_VisionControls;
+using System;
+using System.Collections.Generic;
+using System.Drawing.Imaging;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using static System.Runtime.InteropServices.JavaScript.JSType;
+
+namespace LB_VisionProcesses.Alogrithms.Halcon
+{
+ public enum ImageEnhancementType { Emphasize, EquHisto, ScaleMax }
+
+ public class HImageEnhancementTool : TAlgorithm
+ {
+ public HImageEnhancementTool()
+ {
+ strProcessClass = "LB_VisionProcesses.Alogrithms.Halcon.HImageEnhancementTool";
+ strProcessName = "Halcon2D_鍥惧儚澧炲己宸ュ叿";
+
+ Params.Inputs.Add("婊ゆ尝鍣ㄧ被鍨�", "杈圭紭澧炲己");
+ Params.Inputs.Add("鎺╄啘瀹�", 1);
+ Params.Inputs.Add("鎺╄啘楂�", 1);
+ Params.Inputs.Add("澧炲己鍥犲瓙", 1.0);
+ //emphasize(Image : ImageEmphasize : MaskWidth, MaskHeight, Factor : )
+
+ Params.Inputs.Add("婊ゆ尝鍣ㄧ被鍨�", "鐩存柟鍥惧潎琛″寲");
+ //equ_histo_image(Image : ImageEquHisto : : )
+
+ Params.Inputs.Add("婊ゆ尝鍣ㄧ被鍨�", "姣斾緥澧炲己");
+ //scale_image_max(Image : ImageScaleMax : : )
+
+ Params.ROI = new HSegment(0, 0, 250, 250);
+ }
+
+ List<RecordImageEnhancementData> recordImageEnhancementDatas = new List<RecordImageEnhancementData>();
+ /// <summary>
+ /// 绠楀瓙閫昏緫
+ /// </summary>
+ public override void TAlgorithmMain()
+ {
+ #region 鍒濆鍖栧彉閲�
+ HObject ho_Regions, ho_LineXld;
+ HOperatorSet.GenEmptyObj(out ho_Regions);
+ HOperatorSet.GenEmptyObj(out ho_LineXld);
+ #endregion
+
+ try
+ {
+ if (InputImage == null)
+ {
+ Msg = "杈撳叆鍥剧墖涓虹┖";
+ Result = false;
+ return;
+ }
+ if (InputImage is Bitmap)
+ {
+ try
+ {
+ using (HImage hImage = new HImage())
+ {
+ Bitmap bitmap = (Bitmap)InputImage;
+ Rectangle rect = new Rectangle(0, 0, ((Bitmap)bitmap).Width, ((Bitmap)bitmap).Height);
+ BitmapData srcBmpData = ((Bitmap)bitmap).LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppRgb);
+ hImage.GenImageInterleaved(srcBmpData.Scan0, "rgbx", ((Bitmap)bitmap).Width, ((Bitmap)bitmap).Height, 0, "byte", ((Bitmap)bitmap).Width, ((Bitmap)bitmap).Height, 0, 0, -1, 0);
+ ((Bitmap)bitmap).UnlockBits(srcBmpData);
+ bitmap.Dispose();
+ bitmap = null;
+ InputImage = null;
+ InputImage = hImage.Clone();
+ }
+ }
+ catch (Exception ex)
+ {
+ }
+ }
+ if (!(InputImage is HObject))
+ {
+ Msg = "杈撳叆鍥剧墖鏍煎紡涓嶄负HObject";
+ Result = false;
+ return;
+ }
+ #region 瑁佸壀鍖哄煙
+ //if (!(Params.ROI is HSegment))
+ //{
+ // Msg = "ROI绫诲瀷閿欒,蹇呴』涓篐Segment绫诲瀷";
+ // Result = false;
+ // return;
+ //}
+
+ //if (!(InputImage is HObject))
+ //{
+ // Msg = "杈撳叆鍥剧墖绫诲瀷閿欒,蹇呴』涓篐Object绫诲瀷";
+ // Result = false;
+ // return;
+ //}
+
+ //HObject DomainImage = ((HObject)InputImage)?.CopyObj(1, -1);
+ object DomainImage = null;
+ if (!ReduceDomainImage(InputImage, ref DomainImage))
+ {
+ Msg = "瑁佸壀鍖哄煙澶辫触";
+ Result = false;
+ return;
+ }
+ #endregion
+
+ #region 绠楀瓙閫昏緫
+ Record = new ObjectRecord();
+ HObject hoDomainImage = DomainImage as HObject;
+ HTuple hv_Channels = new HTuple();
+ //鍒ゆ柇鏄惁涓虹伆搴﹀浘
+ using (HDevDisposeHelper dh = new HDevDisposeHelper())
+ {
+ try
+ {
+ HOperatorSet.CountChannels(hoDomainImage, out hv_Channels);
+ if (hv_Channels.TupleInt() != 1)
+ HOperatorSet.Rgb1ToGray(hoDomainImage, out hoDomainImage);
+
+ //杞崲鍚庡啀娆℃鏌ユ槸鍚︿负鐏板害鍥�
+ HOperatorSet.CountChannels(hoDomainImage, out hv_Channels);
+ if (hv_Channels.TupleInt() != 1)
+ {
+ HOperatorSet.Rgb1ToGray(hoDomainImage, out hoDomainImage);
+ Msg = "杈撳叆鍥剧墖涓嶄负鐏板害鍥�";
+ Result = false;
+ return;
+ }
+ }
+ catch
+ {
+ Msg = "杈撳叆鍥剧墖涓嶄负鐏板害鍥句笖杞崲澶辫触";
+ Result = false;
+ return;
+ }
+ }
+
+ int hv_MaskWidth = Convert.ToInt16(Params.Inputs["鎺╄啘瀹�"]);
+ int hv_MaskHight = Convert.ToInt16(Params.Inputs["鎺╄啘楂�"]);
+ double hv_Factor = Convert.ToDouble(Params.Inputs["澧炲己鍥犲瓙"]);
+
+ recordImageEnhancementDatas = ImageEnhancementManager.Instance.GetAllUsers();
+
+ string hv_ImageEnhancementType = "";
+ foreach (var recordImageEnhancementData in recordImageEnhancementDatas)
+ {
+ switch (recordImageEnhancementData.FilterName)
+ {
+ case ImageEnhancementDataType.杈圭紭澧炲己_ImageEmphasize:
+ hv_ImageEnhancementType = "emphasize";
+ hv_MaskWidth = Convert.ToInt16(recordImageEnhancementData.MaskWidth);
+ hv_MaskHight = Convert.ToInt16(recordImageEnhancementData.MaskHight);
+ hv_Factor = Convert.ToDouble(recordImageEnhancementData.Factor);
+ ImageEnhancement(hoDomainImage, out ho_Regions, hv_ImageEnhancementType, hv_MaskWidth, hv_MaskHight, hv_Factor);
+ break;
+ case ImageEnhancementDataType.鐩存柟鍥惧潎琛″寲_EquHistoImage:
+ hv_ImageEnhancementType = "equhisto";
+ ImageEnhancement(hoDomainImage, out ho_Regions, hv_ImageEnhancementType, hv_MaskWidth, hv_MaskHight, hv_Factor);
+ break;
+ case ImageEnhancementDataType.姣斾緥澧炲己_ScaleImageMax:
+ hv_ImageEnhancementType = "scaleimageMax";
+ ImageEnhancement(hoDomainImage, out ho_Regions, hv_ImageEnhancementType, hv_MaskWidth, hv_MaskHight, hv_Factor);
+ break;
+ default:
+ hv_ImageEnhancementType = "scaleImageMax";
+ ImageEnhancement(hoDomainImage, out ho_Regions, hv_ImageEnhancementType, hv_MaskWidth, hv_MaskHight, hv_Factor);
+ break;
+ }
+
+
+ }
+ #endregion
+
+
+ #region 鐢熸垚OutputImage缁欏悗缁鐞�
+ try
+ {
+ OutputImage = hoDomainImage;
+ }
+ catch (Exception ex)
+ {
+ Msg = "鐢熸垚OutputImage澶辫触,鍘熷洜鏄�:" + ex.ToString();
+ Result = false;
+ return;
+ }
+ #endregion
+
+ if (Msg == "杩愯瓒呮椂")
+ {
+ Result = false;
+ return;
+ }
+
+ Msg = "杩愯鎴愬姛";
+ Result = true;
+ return;
+ }
+ catch (Exception ex)
+ {
+ Msg = "杩愯澶辫触,鍘熷洜鏄�:" + ex.ToString().TrimEnd();
+ OutputImage = null;
+ Result = false;
+ return;
+ }
+ finally
+ {
+ if (!Result)
+ {
+ Params.Outputs.Add("Segment", new HSegment());
+ }
+
+ bCompleted = true;
+ #region 鍐呭瓨閲婃斁
+ ho_Regions.Dispose();
+ #endregion
+ }
+ }
+ }
+}
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs
new file mode 100644
index 0000000..ebf7b01
--- /dev/null
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.Designer.cs
@@ -0,0 +1,610 @@
+锘縰sing LB_VisionProcesses.Alogrithms;
+
+namespace LB_VisionProcesses.Alogrithms.Halcon
+{
+ partial class HImageEnhancementToolEdit
+ {
+ /// <summary>
+ /// 蹇呴渶鐨勮璁″櫒鍙橀噺銆�
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// 娓呯悊鎵�鏈夋鍦ㄤ娇鐢ㄧ殑璧勬簮銆�
+ /// </summary>
+ /// <param name="disposing">濡傛灉搴旈噴鏀炬墭绠¤祫婧愶紝涓� true锛涘惁鍒欎负 false銆�</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 缁勪欢璁捐鍣ㄧ敓鎴愮殑浠g爜
+
+ /// <summary>
+ /// 璁捐鍣ㄦ敮鎸佹墍闇�鐨勬柟娉� - 涓嶈淇敼
+ /// 浣跨敤浠g爜缂栬緫鍣ㄤ慨鏀规鏂规硶鐨勫唴瀹广��
+ /// </summary>
+ private void InitializeComponent()
+ {
+ pnlInputImage = new Panel();
+ TopToolStrip = new ToolStrip();
+ btnRun = new ToolStripButton();
+ btnLoadImage = new ToolStripButton();
+ btnSaveParas = new ToolStripButton();
+ btnLoadParas = new ToolStripButton();
+ BtmStatusStrip = new StatusStrip();
+ lblResult = new ToolStripStatusLabel();
+ lblMsg = new ToolStripStatusLabel();
+ lblRunTime = new ToolStripStatusLabel();
+ MainTableLayoutPanel = new TableLayoutPanel();
+ parasTabControl = new TabControl();
+ tabPage1 = new TabPage();
+ tableLayoutPanel1 = new TableLayoutPanel();
+ dataGridViewIE = new DataGridView();
+ tableLayoutPanel4 = new TableLayoutPanel();
+ tableLayoutPanel3 = new TableLayoutPanel();
+ cmbImageEnhancement = new ComboBox();
+ btnAdd = new Button();
+ labelImageEnhancement = new Label();
+ btnDel = new Button();
+ tableLayoutPanel5 = new TableLayoutPanel();
+ labelMaskWidth = new Label();
+ labelMaskHeight = new Label();
+ labelFactor = new Label();
+ txtMaskWidth = new TextBox();
+ txtMaskHeight = new TextBox();
+ txtFactor = new TextBox();
+ tabPage5 = new TabPage();
+ tableLayoutPanel2 = new TableLayoutPanel();
+ cmbTypeRoi = new ComboBox();
+ label21 = new Label();
+ label22 = new Label();
+ cmbFixture = new ComboBox();
+ ckbDrawRoi = new CheckBox();
+ imgTabControl = new TabControl();
+ tabPageInputImage = new TabPage();
+ tabPageRecordImage = new TabPage();
+ pnlRecordImage = new Panel();
+ TopToolStrip.SuspendLayout();
+ BtmStatusStrip.SuspendLayout();
+ MainTableLayoutPanel.SuspendLayout();
+ parasTabControl.SuspendLayout();
+ tabPage1.SuspendLayout();
+ tableLayoutPanel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)dataGridViewIE).BeginInit();
+ tableLayoutPanel4.SuspendLayout();
+ tableLayoutPanel3.SuspendLayout();
+ tableLayoutPanel5.SuspendLayout();
+ tabPage5.SuspendLayout();
+ tableLayoutPanel2.SuspendLayout();
+ imgTabControl.SuspendLayout();
+ tabPageInputImage.SuspendLayout();
+ tabPageRecordImage.SuspendLayout();
+ SuspendLayout();
+ //
+ // pnlInputImage
+ //
+ pnlInputImage.Dock = DockStyle.Fill;
+ pnlInputImage.Location = new Point(3, 3);
+ pnlInputImage.Margin = new Padding(4);
+ pnlInputImage.Name = "pnlInputImage";
+ pnlInputImage.Size = new Size(596, 510);
+ pnlInputImage.TabIndex = 44;
+ //
+ // TopToolStrip
+ //
+ TopToolStrip.BackColor = Color.FromArgb(32, 41, 50);
+ TopToolStrip.ImageScalingSize = new Size(20, 20);
+ TopToolStrip.Items.AddRange(new ToolStripItem[] { btnRun, btnLoadImage, btnSaveParas, btnLoadParas });
+ TopToolStrip.Location = new Point(0, 0);
+ TopToolStrip.Name = "TopToolStrip";
+ TopToolStrip.Size = new Size(1044, 25);
+ TopToolStrip.TabIndex = 45;
+ TopToolStrip.Text = "toolStrip1";
+ //
+ // btnRun
+ //
+ btnRun.BackgroundImageLayout = ImageLayout.Zoom;
+ btnRun.ForeColor = Color.White;
+ btnRun.ImageTransparentColor = Color.Magenta;
+ btnRun.Name = "btnRun";
+ btnRun.Size = new Size(36, 22);
+ btnRun.Text = "杩愯";
+ btnRun.Click += btnRun_Click;
+ //
+ // btnLoadImage
+ //
+ btnLoadImage.ForeColor = Color.White;
+ btnLoadImage.ImageTransparentColor = Color.Magenta;
+ btnLoadImage.Name = "btnLoadImage";
+ btnLoadImage.Size = new Size(36, 22);
+ btnLoadImage.Text = "瀵煎浘";
+ btnLoadImage.Click += btnLoadImage_Click;
+ //
+ // btnSaveParas
+ //
+ btnSaveParas.ForeColor = Color.White;
+ btnSaveParas.ImageTransparentColor = Color.Magenta;
+ btnSaveParas.Name = "btnSaveParas";
+ btnSaveParas.Size = new Size(36, 22);
+ btnSaveParas.Text = "淇濆瓨";
+ btnSaveParas.Click += btnSaveParas_Click;
+ //
+ // btnLoadParas
+ //
+ btnLoadParas.ForeColor = Color.White;
+ btnLoadParas.ImageTransparentColor = Color.Magenta;
+ btnLoadParas.Name = "btnLoadParas";
+ btnLoadParas.Size = new Size(36, 22);
+ btnLoadParas.Text = "鍔犺浇";
+ //
+ // BtmStatusStrip
+ //
+ BtmStatusStrip.ImageScalingSize = new Size(20, 20);
+ BtmStatusStrip.Items.AddRange(new ToolStripItem[] { lblResult, lblMsg, lblRunTime });
+ BtmStatusStrip.Location = new Point(0, 577);
+ BtmStatusStrip.Name = "BtmStatusStrip";
+ BtmStatusStrip.Size = new Size(1044, 22);
+ BtmStatusStrip.TabIndex = 46;
+ BtmStatusStrip.Text = "statusStrip1";
+ //
+ // lblResult
+ //
+ lblResult.Name = "lblResult";
+ lblResult.Size = new Size(34, 17);
+ lblResult.Text = "True";
+ //
+ // lblMsg
+ //
+ lblMsg.Name = "lblMsg";
+ lblMsg.Size = new Size(56, 17);
+ lblMsg.Text = "杩愯鎴愬姛";
+ //
+ // lblRunTime
+ //
+ lblRunTime.Name = "lblRunTime";
+ lblRunTime.Size = new Size(32, 17);
+ lblRunTime.Text = "0ms";
+ //
+ // MainTableLayoutPanel
+ //
+ MainTableLayoutPanel.BackColor = Color.FromArgb(32, 41, 50);
+ MainTableLayoutPanel.ColumnCount = 2;
+ MainTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 41F));
+ MainTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 59F));
+ MainTableLayoutPanel.Controls.Add(parasTabControl, 0, 0);
+ MainTableLayoutPanel.Controls.Add(imgTabControl, 1, 0);
+ MainTableLayoutPanel.Dock = DockStyle.Fill;
+ MainTableLayoutPanel.Location = new Point(0, 25);
+ MainTableLayoutPanel.Name = "MainTableLayoutPanel";
+ MainTableLayoutPanel.RowCount = 1;
+ MainTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ MainTableLayoutPanel.Size = new Size(1044, 552);
+ MainTableLayoutPanel.TabIndex = 47;
+ //
+ // parasTabControl
+ //
+ parasTabControl.Controls.Add(tabPage1);
+ parasTabControl.Controls.Add(tabPage5);
+ parasTabControl.Dock = DockStyle.Fill;
+ parasTabControl.Location = new Point(3, 3);
+ parasTabControl.Name = "parasTabControl";
+ parasTabControl.SelectedIndex = 0;
+ parasTabControl.Size = new Size(422, 546);
+ parasTabControl.TabIndex = 48;
+ //
+ // tabPage1
+ //
+ tabPage1.Controls.Add(tableLayoutPanel1);
+ tabPage1.Location = new Point(4, 26);
+ tabPage1.Name = "tabPage1";
+ tabPage1.Padding = new Padding(3);
+ tabPage1.Size = new Size(414, 516);
+ tabPage1.TabIndex = 0;
+ tabPage1.Text = "杈撳叆鍙傛暟";
+ tabPage1.UseVisualStyleBackColor = true;
+ //
+ // tableLayoutPanel1
+ //
+ tableLayoutPanel1.ColumnCount = 1;
+ tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel1.Controls.Add(dataGridViewIE, 0, 1);
+ tableLayoutPanel1.Controls.Add(tableLayoutPanel4, 0, 0);
+ tableLayoutPanel1.Dock = DockStyle.Fill;
+ tableLayoutPanel1.Location = new Point(3, 3);
+ tableLayoutPanel1.Margin = new Padding(2, 3, 2, 3);
+ tableLayoutPanel1.Name = "tableLayoutPanel1";
+ tableLayoutPanel1.RowCount = 2;
+ tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 115F));
+ tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel1.Size = new Size(408, 510);
+ tableLayoutPanel1.TabIndex = 1;
+ //
+ // dataGridViewIE
+ //
+ dataGridViewIE.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ dataGridViewIE.Dock = DockStyle.Fill;
+ dataGridViewIE.Location = new Point(2, 118);
+ dataGridViewIE.Margin = new Padding(2, 3, 2, 3);
+ dataGridViewIE.Name = "dataGridViewIE";
+ dataGridViewIE.RowHeadersWidth = 51;
+ dataGridViewIE.Size = new Size(404, 389);
+ dataGridViewIE.TabIndex = 2;
+ //
+ // tableLayoutPanel4
+ //
+ tableLayoutPanel4.BackColor = Color.FromArgb(32, 41, 50);
+ tableLayoutPanel4.ColumnCount = 1;
+ tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel4.Controls.Add(tableLayoutPanel3, 0, 0);
+ tableLayoutPanel4.Controls.Add(tableLayoutPanel5, 0, 1);
+ tableLayoutPanel4.Dock = DockStyle.Fill;
+ tableLayoutPanel4.ForeColor = Color.White;
+ tableLayoutPanel4.Location = new Point(2, 3);
+ tableLayoutPanel4.Margin = new Padding(2, 3, 2, 3);
+ tableLayoutPanel4.Name = "tableLayoutPanel4";
+ tableLayoutPanel4.RowCount = 2;
+ tableLayoutPanel4.RowStyles.Add(new RowStyle(SizeType.Absolute, 38F));
+ tableLayoutPanel4.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel4.Size = new Size(404, 109);
+ tableLayoutPanel4.TabIndex = 3;
+ //
+ // tableLayoutPanel3
+ //
+ tableLayoutPanel3.ColumnCount = 4;
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 66F));
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 134F));
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
+ tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
+ tableLayoutPanel3.Controls.Add(cmbImageEnhancement, 1, 0);
+ tableLayoutPanel3.Controls.Add(btnAdd, 2, 0);
+ tableLayoutPanel3.Controls.Add(labelImageEnhancement, 0, 0);
+ tableLayoutPanel3.Controls.Add(btnDel, 3, 0);
+ tableLayoutPanel3.Location = new Point(2, 3);
+ tableLayoutPanel3.Margin = new Padding(2, 3, 2, 3);
+ tableLayoutPanel3.Name = "tableLayoutPanel3";
+ tableLayoutPanel3.RowCount = 1;
+ tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel3.Size = new Size(400, 32);
+ tableLayoutPanel3.TabIndex = 0;
+ //
+ // cmbImageEnhancement
+ //
+ cmbImageEnhancement.DropDownStyle = ComboBoxStyle.DropDownList;
+ cmbImageEnhancement.FormattingEnabled = true;
+ cmbImageEnhancement.ImeMode = ImeMode.Off;
+ cmbImageEnhancement.Location = new Point(69, 3);
+ cmbImageEnhancement.Name = "cmbImageEnhancement";
+ cmbImageEnhancement.Size = new Size(128, 25);
+ cmbImageEnhancement.TabIndex = 14;
+ cmbImageEnhancement.SelectedIndexChanged += cmbImageEnhancement_SelectedIndexChanged;
+ //
+ // btnAdd
+ //
+ btnAdd.Location = new Point(202, 3);
+ btnAdd.Margin = new Padding(2, 3, 2, 3);
+ btnAdd.Name = "btnAdd";
+ btnAdd.Size = new Size(95, 26);
+ btnAdd.TabIndex = 15;
+ btnAdd.Text = "娣诲姞";
+ btnAdd.UseVisualStyleBackColor = true;
+ btnAdd.Click += btnAdd_Click;
+ //
+ // labelImageEnhancement
+ //
+ labelImageEnhancement.AutoSize = true;
+ labelImageEnhancement.Location = new Point(2, 0);
+ labelImageEnhancement.Margin = new Padding(2, 0, 2, 0);
+ labelImageEnhancement.MaximumSize = new Size(0, 28);
+ labelImageEnhancement.MinimumSize = new Size(0, 28);
+ labelImageEnhancement.Name = "labelImageEnhancement";
+ labelImageEnhancement.Size = new Size(56, 28);
+ labelImageEnhancement.TabIndex = 1;
+ labelImageEnhancement.Text = "婊ゆ尝绫诲瀷";
+ labelImageEnhancement.TextAlign = ContentAlignment.MiddleCenter;
+ //
+ // btnDel
+ //
+ btnDel.Location = new Point(302, 3);
+ btnDel.Margin = new Padding(2, 3, 2, 3);
+ btnDel.Name = "btnDel";
+ btnDel.Size = new Size(96, 26);
+ btnDel.TabIndex = 16;
+ btnDel.Text = "鍒犻櫎";
+ btnDel.UseVisualStyleBackColor = true;
+ btnDel.Click += btnDel_Click;
+ //
+ // tableLayoutPanel5
+ //
+ tableLayoutPanel5.ColumnCount = 4;
+ tableLayoutPanel5.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 66F));
+ tableLayoutPanel5.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 134F));
+ tableLayoutPanel5.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 66F));
+ tableLayoutPanel5.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 134F));
+ tableLayoutPanel5.Controls.Add(labelMaskWidth, 0, 0);
+ tableLayoutPanel5.Controls.Add(labelMaskHeight, 2, 0);
+ tableLayoutPanel5.Controls.Add(labelFactor, 0, 1);
+ tableLayoutPanel5.Controls.Add(txtMaskWidth, 1, 0);
+ tableLayoutPanel5.Controls.Add(txtMaskHeight, 3, 0);
+ tableLayoutPanel5.Controls.Add(txtFactor, 1, 1);
+ tableLayoutPanel5.Location = new Point(2, 41);
+ tableLayoutPanel5.Margin = new Padding(2, 3, 2, 3);
+ tableLayoutPanel5.Name = "tableLayoutPanel5";
+ tableLayoutPanel5.RowCount = 2;
+ tableLayoutPanel5.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
+ tableLayoutPanel5.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
+ tableLayoutPanel5.Size = new Size(400, 63);
+ tableLayoutPanel5.TabIndex = 1;
+ //
+ // labelMaskWidth
+ //
+ labelMaskWidth.AutoSize = true;
+ labelMaskWidth.Location = new Point(2, 0);
+ labelMaskWidth.Margin = new Padding(2, 0, 2, 0);
+ labelMaskWidth.Name = "labelMaskWidth";
+ labelMaskWidth.Size = new Size(44, 17);
+ labelMaskWidth.TabIndex = 0;
+ labelMaskWidth.Text = "鎺╄啘瀹�";
+ //
+ // labelMaskHeight
+ //
+ labelMaskHeight.AutoSize = true;
+ labelMaskHeight.Location = new Point(202, 0);
+ labelMaskHeight.Margin = new Padding(2, 0, 2, 0);
+ labelMaskHeight.Name = "labelMaskHeight";
+ labelMaskHeight.Size = new Size(44, 17);
+ labelMaskHeight.TabIndex = 1;
+ labelMaskHeight.Text = "鎺╄啘楂�";
+ //
+ // labelFactor
+ //
+ labelFactor.AutoSize = true;
+ labelFactor.Location = new Point(2, 31);
+ labelFactor.Margin = new Padding(2, 0, 2, 0);
+ labelFactor.Name = "labelFactor";
+ labelFactor.Size = new Size(56, 17);
+ labelFactor.TabIndex = 2;
+ labelFactor.Text = "澧炲己鍥犲瓙";
+ //
+ // txtMaskWidth
+ //
+ txtMaskWidth.Location = new Point(68, 3);
+ txtMaskWidth.Margin = new Padding(2, 3, 2, 3);
+ txtMaskWidth.Name = "txtMaskWidth";
+ txtMaskWidth.Size = new Size(130, 23);
+ txtMaskWidth.TabIndex = 3;
+ //
+ // txtMaskHeight
+ //
+ txtMaskHeight.Location = new Point(268, 3);
+ txtMaskHeight.Margin = new Padding(2, 3, 2, 3);
+ txtMaskHeight.Name = "txtMaskHeight";
+ txtMaskHeight.Size = new Size(130, 23);
+ txtMaskHeight.TabIndex = 4;
+ //
+ // txtFactor
+ //
+ txtFactor.Location = new Point(68, 34);
+ txtFactor.Margin = new Padding(2, 3, 2, 3);
+ txtFactor.Name = "txtFactor";
+ txtFactor.Size = new Size(130, 23);
+ txtFactor.TabIndex = 5;
+ //
+ // tabPage5
+ //
+ tabPage5.BackColor = Color.FromArgb(32, 41, 50);
+ tabPage5.Controls.Add(tableLayoutPanel2);
+ tabPage5.ForeColor = Color.White;
+ tabPage5.Location = new Point(4, 26);
+ tabPage5.Name = "tabPage5";
+ tabPage5.Size = new Size(414, 516);
+ tabPage5.TabIndex = 2;
+ tabPage5.Text = "杩愯鍙傛暟";
+ //
+ // tableLayoutPanel2
+ //
+ tableLayoutPanel2.BackColor = Color.FromArgb(32, 41, 50);
+ tableLayoutPanel2.ColumnCount = 4;
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 60F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 150F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20F));
+ tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
+ tableLayoutPanel2.Controls.Add(cmbTypeRoi, 1, 0);
+ tableLayoutPanel2.Controls.Add(label21, 0, 0);
+ tableLayoutPanel2.Controls.Add(label22, 0, 1);
+ tableLayoutPanel2.Controls.Add(cmbFixture, 1, 1);
+ tableLayoutPanel2.Controls.Add(ckbDrawRoi, 2, 0);
+ tableLayoutPanel2.ForeColor = Color.White;
+ tableLayoutPanel2.Location = new Point(3, 3);
+ tableLayoutPanel2.Name = "tableLayoutPanel2";
+ tableLayoutPanel2.RowCount = 8;
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 30F));
+ tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
+ tableLayoutPanel2.Size = new Size(323, 309);
+ tableLayoutPanel2.TabIndex = 4;
+ //
+ // cmbTypeRoi
+ //
+ cmbTypeRoi.FormattingEnabled = true;
+ cmbTypeRoi.Location = new Point(63, 3);
+ cmbTypeRoi.Name = "cmbTypeRoi";
+ cmbTypeRoi.Size = new Size(121, 25);
+ cmbTypeRoi.TabIndex = 1;
+ cmbTypeRoi.SelectedIndexChanged += cmbTypeRoi_SelectedIndexChanged;
+ //
+ // label21
+ //
+ label21.AutoSize = true;
+ label21.Dock = DockStyle.Fill;
+ label21.Location = new Point(3, 0);
+ label21.Name = "label21";
+ label21.Size = new Size(54, 30);
+ label21.TabIndex = 3;
+ label21.Text = "ROI";
+ label21.TextAlign = ContentAlignment.MiddleCenter;
+ //
+ // label22
+ //
+ label22.AutoSize = true;
+ label22.Dock = DockStyle.Fill;
+ label22.Location = new Point(3, 30);
+ label22.Name = "label22";
+ label22.Size = new Size(54, 30);
+ label22.TabIndex = 4;
+ label22.Text = "Fixture";
+ label22.TextAlign = ContentAlignment.MiddleCenter;
+ //
+ // cmbFixture
+ //
+ cmbFixture.FormattingEnabled = true;
+ cmbFixture.Location = new Point(63, 33);
+ cmbFixture.Name = "cmbFixture";
+ cmbFixture.Size = new Size(121, 25);
+ cmbFixture.TabIndex = 5;
+ //
+ // ckbDrawRoi
+ //
+ ckbDrawRoi.AutoSize = true;
+ ckbDrawRoi.CheckAlign = ContentAlignment.MiddleCenter;
+ ckbDrawRoi.Location = new Point(213, 3);
+ ckbDrawRoi.Name = "ckbDrawRoi";
+ ckbDrawRoi.Size = new Size(14, 14);
+ ckbDrawRoi.TabIndex = 2;
+ ckbDrawRoi.UseVisualStyleBackColor = true;
+ ckbDrawRoi.CheckedChanged += ckbDrawRoi_CheckedChanged;
+ //
+ // imgTabControl
+ //
+ imgTabControl.Controls.Add(tabPageInputImage);
+ imgTabControl.Controls.Add(tabPageRecordImage);
+ imgTabControl.Dock = DockStyle.Fill;
+ imgTabControl.Location = new Point(431, 3);
+ imgTabControl.Name = "imgTabControl";
+ imgTabControl.SelectedIndex = 0;
+ imgTabControl.Size = new Size(610, 546);
+ imgTabControl.TabIndex = 49;
+ //
+ // tabPageInputImage
+ //
+ tabPageInputImage.BackColor = Color.FromArgb(32, 41, 50);
+ tabPageInputImage.Controls.Add(pnlInputImage);
+ tabPageInputImage.ForeColor = Color.White;
+ tabPageInputImage.Location = new Point(4, 26);
+ tabPageInputImage.Name = "tabPageInputImage";
+ tabPageInputImage.Padding = new Padding(3);
+ tabPageInputImage.Size = new Size(602, 516);
+ tabPageInputImage.TabIndex = 0;
+ tabPageInputImage.Text = "杈撳叆鍥惧儚";
+ //
+ // tabPageRecordImage
+ //
+ tabPageRecordImage.BackColor = Color.FromArgb(32, 41, 50);
+ tabPageRecordImage.Controls.Add(pnlRecordImage);
+ tabPageRecordImage.ForeColor = Color.White;
+ tabPageRecordImage.Location = new Point(4, 26);
+ tabPageRecordImage.Name = "tabPageRecordImage";
+ tabPageRecordImage.Padding = new Padding(3);
+ tabPageRecordImage.Size = new Size(602, 516);
+ tabPageRecordImage.TabIndex = 1;
+ tabPageRecordImage.Text = "缁撴灉鍥惧儚";
+ //
+ // pnlRecordImage
+ //
+ pnlRecordImage.BackColor = Color.FromArgb(32, 41, 50);
+ pnlRecordImage.Dock = DockStyle.Fill;
+ pnlRecordImage.ForeColor = Color.White;
+ pnlRecordImage.Location = new Point(3, 3);
+ pnlRecordImage.Margin = new Padding(4);
+ pnlRecordImage.Name = "pnlRecordImage";
+ pnlRecordImage.Size = new Size(596, 510);
+ pnlRecordImage.TabIndex = 45;
+ //
+ // HImageEnhancementToolEdit
+ //
+ AutoScaleDimensions = new SizeF(7F, 17F);
+ AutoScaleMode = AutoScaleMode.Font;
+ BackColor = Color.FromArgb(32, 41, 50);
+ Controls.Add(MainTableLayoutPanel);
+ Controls.Add(BtmStatusStrip);
+ Controls.Add(TopToolStrip);
+ ForeColor = Color.White;
+ Margin = new Padding(2, 3, 2, 3);
+ Name = "HImageEnhancementToolEdit";
+ Size = new Size(1044, 599);
+ Load += HImageEnhancementToolEdit_Load;
+ TopToolStrip.ResumeLayout(false);
+ TopToolStrip.PerformLayout();
+ BtmStatusStrip.ResumeLayout(false);
+ BtmStatusStrip.PerformLayout();
+ MainTableLayoutPanel.ResumeLayout(false);
+ parasTabControl.ResumeLayout(false);
+ tabPage1.ResumeLayout(false);
+ tableLayoutPanel1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)dataGridViewIE).EndInit();
+ tableLayoutPanel4.ResumeLayout(false);
+ tableLayoutPanel3.ResumeLayout(false);
+ tableLayoutPanel3.PerformLayout();
+ tableLayoutPanel5.ResumeLayout(false);
+ tableLayoutPanel5.PerformLayout();
+ tabPage5.ResumeLayout(false);
+ tableLayoutPanel2.ResumeLayout(false);
+ tableLayoutPanel2.PerformLayout();
+ imgTabControl.ResumeLayout(false);
+ tabPageInputImage.ResumeLayout(false);
+ tabPageRecordImage.ResumeLayout(false);
+ ResumeLayout(false);
+ PerformLayout();
+ }
+
+ #endregion
+ private System.Windows.Forms.Panel pnlInputImage;
+ private ToolStrip TopToolStrip;
+ private ToolStripButton btnRun;
+ private StatusStrip BtmStatusStrip;
+ private ToolStripStatusLabel lblResult;
+ private ToolStripStatusLabel lblMsg;
+ private TableLayoutPanel MainTableLayoutPanel;
+ private ToolStripButton btnLoadImage;
+ private TabControl parasTabControl;
+ private TabPage tabPage1;
+ private TabPage tabPage5;
+ private TabControl imgTabControl;
+ private TabPage tabPageInputImage;
+ private TabPage tabPageRecordImage;
+ private ToolStripButton btnSaveParas;
+ private ToolStripButton btnLoadParas;
+ private Panel pnlRecordImage;
+ private ToolStripStatusLabel lblRunTime;
+ private TableLayoutPanel tableLayoutPanel2;
+ public ComboBox cmbTypeRoi;
+ private Label label21;
+ private Label label22;
+ private ComboBox cmbFixture;
+ private CheckBox ckbDrawRoi;
+ private TableLayoutPanel tableLayoutPanel1;
+ private TableLayoutPanel tableLayoutPanel3;
+ private Label labelImageEnhancement;
+ private ComboBox cmbImageEnhancement;
+ private DataGridView dataGridViewIE;
+ private TableLayoutPanel tableLayoutPanel4;
+ private Button btnAdd;
+ private TableLayoutPanel tableLayoutPanel5;
+ private Label labelMaskWidth;
+ private Label labelMaskHeight;
+ private TextBox txtMaskWidth;
+ private TextBox txtMaskHeight;
+ private Label labelFactor;
+ private TextBox txtFactor;
+ private Button btnDel;
+ }
+}
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs
new file mode 100644
index 0000000..905a9c2
--- /dev/null
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.cs
@@ -0,0 +1,574 @@
+锘縰sing HalconDotNet;
+using LB_SmartVisionCommon;
+using LB_VisionControls;
+using LB_VisionProcesses.Alogrithms.Halcon;
+using Microsoft.VisualBasic.ApplicationServices;
+using OpenCvSharp;
+using Sunny.UI.Win32;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement;
+
+namespace LB_VisionProcesses.Alogrithms.Halcon
+{
+ public partial class HImageEnhancementToolEdit : TAlgorithmEdit
+ {
+ List<RecordImageEnhancementData> recordImageEnhancementDatas = new List<RecordImageEnhancementData>();
+ private int rowriginalHeight;
+ public HImageEnhancementToolEdit(HImageEnhancementTool subject = null)
+ {
+ if (subject != null && subject is HImageEnhancementTool)
+ Subject = subject;
+ else
+ Subject = new HImageEnhancementTool();
+
+ //if (!(Subject.Params.ROI is HSegment))
+ // Subject.Params.ROI = new HSegment(0, 0, 250, 250);
+
+ this.Dock = DockStyle.Fill;
+ InitializeComponent();
+ // 淇濆瓨鍘熷琛岄珮搴�
+ rowriginalHeight = (int)tableLayoutPanel4.RowStyles[1].Height;
+
+ InitializeComboBox();
+ InitializeDataGridView();
+
+ recordImageEnhancementDatas = ImageEnhancementManager.Instance.GetAllUsers();
+ this.dataGridViewIE.DataSource = recordImageEnhancementDatas;
+ this.dataGridViewIE.AutoGenerateColumns = true;
+ }
+
+ private void InitializeComboBox()
+ {
+ // 娣诲姞鏉冮檺閫夐」
+ foreach (var item in Enum.GetValues(typeof(ImageEnhancementDataType)))
+ {
+ cmbImageEnhancement.Items.Add(item.ToString());
+ }
+
+ // 璁剧疆榛樿閫夋嫨椤�
+ cmbImageEnhancement.SelectedIndex = 2;
+ }
+ #region 绠楁硶閫夋嫨涓嬫媺妗�
+ private void cmbImageEnhancement_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ System.Windows.Forms.ComboBox cb = sender as System.Windows.Forms.ComboBox;
+
+ if (cb.SelectedIndex == 0)
+ {
+ ShowRow();
+ }
+ else if (cb.SelectedIndex == 1)
+ {
+ HideRow();
+ }
+ else
+ {
+ HideRow();
+ }
+ }
+ private void ShowRow()
+ {
+ // 鏄剧ずRow2锛堟仮澶嶉珮搴︼級
+ tableLayoutPanel4.RowStyles[1].SizeType = SizeType.Absolute;
+ tableLayoutPanel4.RowStyles[1].Height = rowriginalHeight;
+
+ // 鏄剧ずRow2涓殑鎺т欢
+ foreach (Control ctrl in tableLayoutPanel4.Controls)
+ {
+ int row = tableLayoutPanel4.GetRow(ctrl);
+ if (row == 1)
+ ctrl.Visible = true;
+ }
+ }
+
+ private void HideRow()
+ {
+ // 鏄剧ずRow2锛堟仮澶嶉珮搴︼級
+ tableLayoutPanel4.RowStyles[1].SizeType = SizeType.Absolute;
+ tableLayoutPanel4.RowStyles[1].Height = 0;
+
+ // 鏄剧ずRow2涓殑鎺т欢
+ foreach (Control ctrl in tableLayoutPanel4.Controls)
+ {
+ int row = tableLayoutPanel4.GetRow(ctrl);
+ if (row == 1)
+ ctrl.Visible = false;
+ }
+ }
+ #endregion
+ private void InitializeDataGridView()
+ {
+ this.dataGridViewIE.DataSource = recordImageEnhancementDatas;
+
+ // 璁剧疆DataGridView鍒楀
+ dataGridViewIE.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
+ }
+
+ /// <summary>
+ /// 鎺т欢鍔犺浇浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void HImageEnhancementToolEdit_Load(object sender, EventArgs e)
+ {
+ pnlInputImage.Controls.Add(inputImageHSmartWindowControl);
+ inputImageHSmartWindowControl.Dock = DockStyle.Fill;
+
+ pnlRecordImage.Controls.Add(recordImageHSmartWindowControl);
+ recordImageHSmartWindowControl.Dock = DockStyle.Fill;
+
+ //閬嶅巻鍙互閫夋嫨鐨凴oi绫诲瀷鏋氫妇
+ foreach (var value in Enum.GetValues(typeof(RoiType)))
+ cmbTypeRoi.Items.Add(value.ToString());
+
+ //閬嶅巻鍙互閫夋嫨鐨勫浘鍍忓寮虹被鍨嬫灇涓�
+ //foreach (var value in Enum.GetValues(typeof(ImageEnhancementType)))
+ // cmbImageEnhancement.Items.Add(value.ToString());
+
+ //閬嶅巻鍙互閫夋嫨鐨凢ixture鏋氫妇
+ cmbFixture.Items.Add("");
+ foreach (string value in IProcess.dicFixtures.Keys)
+ cmbFixture.Items.Add(value.ToString());
+
+ ckbDrawRoi.Checked = true;
+ cmbTypeRoi.Text = RoiType.Segment.ToString();
+ cmbImageEnhancement.Text = ImageEnhancementType.ScaleMax.ToString();
+ LoadParas();
+
+ if (Subject.Result)
+ {
+ lblResult.BackColor = Color.Green;
+ lblResult.Text = "True";
+ }
+ else
+ {
+ lblResult.BackColor = Color.Red;
+ lblResult.Text = "False";
+ }
+
+ lblMsg.Text = Msg.Length > 50 ? Msg.Substring(0, 50) : Msg;
+ lblMsgToolTip.SetToolTip(BtmStatusStrip, Msg);
+ lblRunTime.Text = $"{Subject.RunTime}ms";
+ }
+ private void ClearInputFields()
+ {
+ txtMaskWidth.Clear();
+ txtMaskHeight.Clear();
+ txtFactor.Clear();
+ cmbImageEnhancement.SelectedIndex = 0;
+ }
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ // 楠岃瘉杈撳叆
+ if (cmbImageEnhancement.SelectedIndex == 0)
+ {
+ if (string.IsNullOrWhiteSpace(txtMaskWidth.Text) || string.IsNullOrWhiteSpace(txtMaskHeight.Text) || string.IsNullOrWhiteSpace(txtFactor.Text))
+ {
+ MessageBox.Show("璇峰~鍐欐墍鏈夊繀濉瓧娈碉紒", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+ }
+
+ RecordImageEnhancementData filter = new RecordImageEnhancementData();
+ filter.MaskWidth = this.txtMaskWidth.Text;
+ filter.MaskHight = this.txtMaskHeight.Text;
+ filter.Factor = this.txtFactor.Text;
+ filter.FilterName = (ImageEnhancementDataType)this.cmbImageEnhancement.SelectedIndex;
+ // 娣诲姞鍒� UserManager
+ bool success = ImageEnhancementManager.Instance.AddUser(filter);
+ if (success)
+ {
+ recordImageEnhancementDatas.Add(filter);
+ //MessageBox.Show("鐢ㄦ埛娣诲姞鎴愬姛锛�", "鎻愮ず",
+ // MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ // 娓呯┖杈撳叆妗�
+ ClearInputFields();
+ }
+ else
+ {
+ MessageBox.Show("娣诲姞鐢ㄦ埛澶辫触锛�", "閿欒",
+ MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ recordImageEnhancementDatas = ImageEnhancementManager.Instance.GetAllUsers();
+ this.dataGridViewIE.DataSource = recordImageEnhancementDatas;
+ this.dataGridViewIE.AutoGenerateColumns = true;
+ }
+
+ private void btnDel_Click(object sender, EventArgs e)
+ {
+ // 妫�鏌ユ槸鍚︽湁閫変腑鐨勬护娉㈢被鍨�
+ if (cmbImageEnhancement.SelectedIndex < 0)
+ {
+ MessageBox.Show("璇烽�夋嫨瑕佸垹闄ょ殑婊ゆ尝绫诲瀷锛�", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+
+ try
+ {
+ DataGridViewRow selectedRow = dataGridViewIE.SelectedRows[0];
+ string filterToDel = selectedRow.Cells[0].Value?.ToString();
+
+ ImageEnhancementDataType filterToDelete = (ImageEnhancementDataType)cmbImageEnhancement.SelectedIndex;
+
+ // 鏌ユ壘瀵瑰簲鐨勮褰�
+ RecordImageEnhancementData filterToRemove = null;
+
+ // 浠庢湰鍦板垪琛ㄤ腑鏌ユ壘
+ foreach (var filter in recordImageEnhancementDatas)
+ {
+ if (filter.FilterName.ToString() == filterToDel)
+ {
+ filterToRemove = filter;
+ break;
+ }
+ }
+
+ if (filterToRemove == null)
+ {
+ MessageBox.Show("鏈壘鍒板搴旂殑璁板綍锛�", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+
+ // 纭鍒犻櫎
+ DialogResult result = MessageBox.Show(
+ $"纭畾瑕佸垹闄� '{filterToDel}' 璁板綍鍚楋紵",
+ "纭鍒犻櫎",
+ MessageBoxButtons.YesNo,
+ MessageBoxIcon.Question,
+ MessageBoxDefaultButton.Button2); // 榛樿閫夋嫨"鍚�"
+
+ if (result == DialogResult.No)
+ return;
+
+ // 浠庣鐞嗗櫒涓垹闄�
+ bool success = ImageEnhancementManager.Instance.DeleteUser(filterToRemove);
+
+ if (success)
+ {
+ // 浠庢湰鍦板垪琛ㄤ腑鍒犻櫎
+ recordImageEnhancementDatas.Remove(filterToRemove);
+
+ MessageBox.Show("鍒犻櫎鎴愬姛锛�", "鎻愮ず",
+ MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ else
+ {
+ MessageBox.Show("鍒犻櫎澶辫触锛�", "閿欒",
+ MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ recordImageEnhancementDatas = ImageEnhancementManager.Instance.GetAllUsers();
+ this.dataGridViewIE.DataSource = recordImageEnhancementDatas;
+ this.dataGridViewIE.AutoGenerateColumns = true;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("璇烽�夋嫨瑕佸垹闄ょ殑绠楀瓙");
+ }
+ }
+ /// <summary>
+ /// 鏇存柊杩愯鍙傛暟
+ /// </summary>
+ public override void UpdataInputs()
+ {
+ //璁剧疆杩愯鍙傛暟
+ double dResult = 0;
+ int iResult = 0;
+
+ if (cmbFixture.Text == "")
+ Subject.Params.Fixture = new Fixture();
+ else if (IProcess.dicFixtures.ContainsKey(cmbFixture.Text))
+ Subject.Params.Fixture = IProcess.dicFixtures[cmbFixture.Text];
+
+ Type type = inputImageHSmartWindowControl.oRoi?.GetType();
+ switch (type)
+ {
+ case Type t when t == typeof(HRectangle2):
+ HRectangle2 hRectangle2 = (HRectangle2)inputImageHSmartWindowControl.oRoi;
+ Subject.Params.ROI
+ = new HRectangle2(hRectangle2.X - Subject.Params.Fixture.X, hRectangle2.Y - Subject.Params.Fixture.Y
+ , hRectangle2.Phi - Subject.Params.Fixture.Phi, hRectangle2.Width, hRectangle2.Height);
+ break;
+ case Type t when t == typeof(HCircle):
+ HCircle hCircle = (HCircle)inputImageHSmartWindowControl.oRoi;
+ Subject.Params.ROI
+ = new HCircle(hCircle.X - Subject.Params.Fixture.X, hCircle.Y - Subject.Params.Fixture.Y, hCircle.Radius);
+ break;
+ case Type t when t == typeof(HSegment):
+ HSegment hSegment = (HSegment)inputImageHSmartWindowControl.oRoi;
+ Subject.Params.ROI
+ = new HSegment(hSegment.StartX - Subject.Params.Fixture.X, hSegment.StartY - Subject.Params.Fixture.Y
+ , hSegment.EndX - Subject.Params.Fixture.X, hSegment.EndY - Subject.Params.Fixture.Y);
+ break;
+ default:
+ Subject.Params.ROI = new ROI();
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鍔犺浇杩愯鍙傛暟
+ /// </summary>
+ public override void LoadParas()
+ {
+ this.BeginInvoke(new Action(() =>
+ {
+
+ if (Subject.InputImage != null && Subject.InputImage is HObject)
+ inputImageHSmartWindowControl.ShowHoImage((HObject)Subject.InputImage);
+
+ Type type = Subject.Params.ROI?.GetType();
+ if (Subject.Params.ROI != null)
+ {
+ switch (type)
+ {
+ case Type t when t == typeof(HRectangle2):
+ cmbTypeRoi.Text = RoiType.Rectangle2.ToString();
+ break;
+ case Type t when t == typeof(HCircle):
+ cmbTypeRoi.Text = RoiType.Circle.ToString();
+ break;
+ case Type t when t == typeof(HSegment):
+ cmbTypeRoi.Text = RoiType.Segment.ToString();
+ break;
+ default:
+ cmbTypeRoi.Text = RoiType.None.ToString();
+ break;
+ }
+ if (cmbTypeRoi.Text.ToString() != "None")
+ ckbDrawRoi.Checked = true;
+ else
+ ckbDrawRoi.Checked = false;
+
+ inputImageHSmartWindowControl.oRoi = Subject.Params.ROI;
+ }
+
+ if (Subject.Params.Fixture != null)
+ cmbFixture.Text = Subject.Params.Fixture.strName;
+ else
+ cmbFixture.Text = "";
+
+ switch (type)
+ {
+ case Type t when t == typeof(HRectangle2):
+ inputImageHSmartWindowControl.oRoi
+ = new HRectangle2(Subject.Params.ROI.X + Subject.Params.Fixture.X, Subject.Params.ROI.Y + Subject.Params.Fixture.Y
+ , Subject.Params.ROI.Phi + Subject.Params.Fixture.Phi, ((HRectangle2)Subject.Params.ROI).Width, ((HRectangle2)Subject.Params.ROI).Height);
+ break;
+ case Type t when t == typeof(HCircle):
+ inputImageHSmartWindowControl.oRoi
+ = new HCircle(Subject.Params.ROI.X + Subject.Params.Fixture.X, Subject.Params.ROI.Y + Subject.Params.Fixture.Y
+ , ((HCircle)Subject.Params.ROI).Radius);
+ break;
+ case Type t when t == typeof(HSegment):
+ inputImageHSmartWindowControl.oRoi
+ = new HSegment(((HSegment)Subject.Params.ROI).StartX + Subject.Params.Fixture.X, ((HSegment)Subject.Params.ROI).StartY + Subject.Params.Fixture.Y
+ , ((HSegment)Subject.Params.ROI).EndX + Subject.Params.Fixture.X, ((HSegment)Subject.Params.ROI).EndY + Subject.Params.Fixture.Y);
+ break;
+ default:
+ inputImageHSmartWindowControl.oRoi = null;
+ break;
+ }
+ }));
+ }
+
+ #region 宸ュ叿鏍忔寜閽簨浠�
+ /// <summary>
+ /// 鐐瑰嚮杩愯
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void btnRun_Click(object sender, EventArgs e)
+ {
+ if (Subject.InputImage != null)
+ InputImage = Subject.InputImage;
+
+ DateTime StartTime = DateTime.Now;
+ Run();
+
+ //鏇存柊鏃ュ織涓庣粨鏋�
+ this.BeginInvoke(new Action(() =>
+ {
+ if (Subject.Result)
+ {
+ lblResult.BackColor = Color.Green;
+ lblResult.Text = "True";
+ recordImageHSmartWindowControl.SetColor("green");
+ }
+ else
+ {
+ lblResult.BackColor = Color.Red;
+ lblResult.Text = "False";
+ recordImageHSmartWindowControl.SetColor("red");
+ }
+
+ lblMsg.Text = Msg.Length > 50 ? Msg.Substring(0, 50) : Msg;
+ lblMsgToolTip.SetToolTip(BtmStatusStrip, Msg);
+ lblRunTime.Text = $"{(DateTime.Now - StartTime).TotalMilliseconds}ms";
+
+ UpdataOutputs();
+ imgTabControl.SelectedTab = tabPageRecordImage;
+
+ if (Subject.InputImage != null && Subject.InputImage is HObject)
+ {
+ HOperatorSet.GetImageSize((HObject)Subject.InputImage, out HTuple ho_ImageWidth, out HTuple ho_ImageHeight);
+ recordImageHSmartWindowControl.ShowHoImage((HObject)Subject.InputImage);
+ }
+
+ //鍏堝垽鏂瓙绫诲啀鍒ゆ柇鐖剁被
+ if (Subject.Record != null && Subject.Record is MsgRecord msgRecord)
+ {
+ recordImageHSmartWindowControl.DispObj(msgRecord.RecordObject_OK, true);
+ recordImageHSmartWindowControl.DispObj(msgRecord.RecordObject_NG, false);
+
+ for (int i = 0; i < msgRecord.Msg.Length; i++)
+ recordImageHSmartWindowControl.ShowMsg(msgRecord.Msg[i]
+ , 1 == msgRecord.Result[i] ? true : false, msgRecord.Column[i], msgRecord.Row[i]);
+ }
+ else if (Subject.Record != null && Subject.Record is ObjectRecord objRecord)
+ {
+ recordImageHSmartWindowControl.DispObj(objRecord.RecordObject_OK, true);
+ recordImageHSmartWindowControl.DispObj(objRecord.RecordObject_NG, false);
+ }
+
+ GC.Collect();
+ }));
+ }
+
+ /// <summary>
+ /// 宸ュ叿鏍忊�滃鍥锯��
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void btnLoadImage_Click(object sender, EventArgs e)
+ {
+ OpenFileDialog openFileDialog = new OpenFileDialog();
+
+ // 璁剧疆鏂囦欢瀵硅瘽妗嗙殑灞炴��
+ openFileDialog.Multiselect = false; // 涓嶅厑璁稿閫�
+ // 璁剧疆鏂囦欢杩囨护鍣紝鏀寔澶氱鏂囦欢绫诲瀷
+ openFileDialog.Filter = "Image Files (*.png;*.jpg;*.jpeg;*.bmp)|*.png;*.jpg;*.jpeg;*.bmp|All Files (*.*)|*.*";
+ // 鏄剧ず鏂囦欢瀵硅瘽妗�
+ DialogResult result = openFileDialog.ShowDialog();
+
+ // 澶勭悊瀵硅瘽妗嗚繑鍥炵粨鏋�
+ if (result == DialogResult.OK)
+ {
+ // 鑾峰彇鐢ㄦ埛閫夋嫨鐨勬枃浠跺悕
+ string[] selectedFiles = openFileDialog.FileNames;
+ if (selectedFiles.Length > 0)
+ {
+ HOperatorSet.ReadImage(out HObject ho_Image, selectedFiles[0]);
+ //鍒ゆ柇鏄惁涓虹伆搴﹀浘
+ using (HDevDisposeHelper dh = new HDevDisposeHelper())
+ {
+ HOperatorSet.CountChannels(ho_Image, out HTuple hv_Channels);
+ if (hv_Channels.TupleInt() != 1)
+ {
+ HOperatorSet.Rgb1ToGray(ho_Image, out ho_Image);
+ //鏇存柊鏃ュ織涓庣粨鏋�
+ this.BeginInvoke(new Action(() =>
+ {
+ lblMsg.Text = "瀵煎叆鍥剧墖闈炵伆搴﹀浘,鑷姩杞崲涓虹伆搴﹀浘";
+ }));
+ }
+ InputImage = ho_Image;
+ imgTabControl.SelectedTab = tabPageInputImage;
+ inputImageHSmartWindowControl.oRoi = inputImageHSmartWindowControl.oRoi;
+ }
+ }
+ }
+ }
+ /// <summary>
+ /// 宸ュ叿鏍忊�滀繚瀛樷��
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void btnSaveParas_Click(object sender, EventArgs e) { base.btnSaveParas_Click(sender, e); }
+ #endregion
+ #region ROI鍔熻兘
+ /// <summary>
+ /// 鏄惁鍚敤ROI
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void ckbDrawRoi_CheckedChanged(object sender, EventArgs e)
+ {
+ if (ckbDrawRoi.Checked)
+ {
+ inputImageHSmartWindowControl.bAollowDraw = true;
+ imgTabControl.SelectedTab = tabPageInputImage;
+ }
+ else
+ {
+ inputImageHSmartWindowControl.bAollowDraw = false;
+ Subject.Params.ROI = new ROI();
+ }
+ }
+ /// <summary>
+ /// ROI涓嬫媺妗嗘敼鍙樹簨浠�
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ public override void cmbTypeRoi_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ try
+ {
+ if (Enum.TryParse(cmbTypeRoi.Text.ToString(), out RoiType type))
+ {
+ HTuple hv_imageWidth = 0;
+ HTuple hv_imageHeight = 0;
+ if (InputImage != null && InputImage is HObject)
+ HOperatorSet.GetImageSize((HObject)InputImage, out hv_imageWidth, out hv_imageHeight);
+ switch (type)
+ {
+ case RoiType.Rectangle2:
+ inputImageHSmartWindowControl.oRoi
+ = new HRectangle2(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2, 0
+ , hv_imageWidth.TupleReal() / 4, hv_imageHeight.TupleReal() / 4);
+ break;
+ case RoiType.Circle:
+ inputImageHSmartWindowControl.oRoi
+ = new HCircle(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2, hv_imageWidth.TupleReal() / 4);
+ break;
+ case RoiType.Segment:
+ inputImageHSmartWindowControl.oRoi
+ = new HSegment(0, 0, hv_imageWidth.TupleReal() / 4, hv_imageHeight.TupleReal() / 4);
+ break;
+ case RoiType.None:
+ default:
+ inputImageHSmartWindowControl.oRoi = null;
+ break;
+ }
+ }
+ }
+ catch { }
+ }
+
+ public override void cmbFixture_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ try
+ {
+ if (IProcess.dicFixtures.ContainsKey(cmbFixture.Text))
+ Subject.Params.Fixture = IProcess.dicFixtures[cmbFixture.Text];
+ else
+ Subject.Params.Fixture = new Fixture();
+ }
+ catch { }
+ }
+ #endregion
+
+
+ }
+}
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx
new file mode 100644
index 0000000..0960d33
--- /dev/null
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HImageEnhancementTool/HImageEnhancementToolEdit.resx
@@ -0,0 +1,129 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="lblMsgToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="TopToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>156, 17</value>
+ </metadata>
+ <metadata name="BtmStatusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>287, 17</value>
+ </metadata>
+</root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs
new file mode 100644
index 0000000..83fd230
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄦ娊璞″熀绫�
+ /// </summary>
+ public abstract class BarcodeReaderBase : IBarcodeReader
+ {
+ public virtual event EventHandler<BarcodeEventArgs> BarcodeRead;
+
+ public virtual string SN { get; set; } = string.Empty;
+
+ public virtual bool IsConnected { get; set; } = false;
+
+ public virtual bool IsGrabbing { get; set; } = false;
+
+ public abstract BarcodeReaderBrand Brand { get; }
+
+ protected BarcodeReaderBase() { }
+
+ /// <summary>
+ /// 瑙﹀彂璇荤爜鎴愬姛浜嬩欢
+ /// </summary>
+ protected virtual void OnBarcodeRead(BarcodeEventArgs e)
+ {
+ BarcodeRead?.Invoke(this, e);
+ }
+
+ public abstract List<string> GetDeviceList();
+
+ public abstract bool Open(string sn);
+
+ public abstract bool Close();
+
+ public abstract bool StartGrabbing();
+
+ public abstract bool StopGrabbing();
+
+ public abstract bool SoftTrigger();
+
+ public abstract bool SetTriggerMode(bool isSoftware);
+
+ public virtual void Dispose()
+ {
+ try
+ {
+ if (IsConnected)
+ {
+ Close();
+ }
+ IsConnected = false;
+ IsGrabbing = false;
+ }
+ catch { }
+ }
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs
new file mode 100644
index 0000000..d3616c3
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs
@@ -0,0 +1,27 @@
+using System;
+using LB_VisionProcesses.BarcodeReaders.Huayray;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄥ伐鍘傜被
+ /// </summary>
+ public static class BarcodeReaderFactory
+ {
+ /// <summary>
+ /// 鏍规嵁鍝佺墝鍒涘缓璇荤爜鍣ㄥ疄渚�
+ /// </summary>
+ /// <param name="brand">璇荤爜鍣ㄥ搧鐗�</param>
+ /// <returns>璇荤爜鍣ㄥ疄渚�</returns>
+ public static IBarcodeReader CreateReader(BarcodeReaderBrand brand)
+ {
+ switch (brand)
+ {
+ case BarcodeReaderBrand.Huayray:
+ return new HRBarcodeReader();
+ default:
+ throw new NotSupportedException($"涓嶆敮鎸佺殑璇荤爜鍣ㄥ搧鐗�: {brand}");
+ }
+ }
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs
new file mode 100644
index 0000000..83e4662
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs
@@ -0,0 +1,373 @@
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ partial class BarcodeReaderForm
+ {
+ private System.ComponentModel.IContainer components = null;
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BarcodeReaderForm));
+ themeForm = new ReaLTaiizor.Forms.ThemeForm();
+ controlBox1 = new ReaLTaiizor.Controls.ControlBox();
+ pnlMain = new ReaLTaiizor.Controls.Panel();
+ pnlImage = new Panel();
+ picPreview = new PictureBox();
+ grpResult = new GroupBox();
+ lstBarcodes = new ListBox();
+ grpParams = new GroupBox();
+ txtTimeout = new TextBox();
+ lblTimeout = new Label();
+ radHardTrigger = new RadioButton();
+ radSoftTrigger = new RadioButton();
+ grpControl = new GroupBox();
+ btnRefresh = new Button();
+ btnSoftTrigger = new Button();
+ btnStop = new Button();
+ btnStart = new Button();
+ btnClose = new Button();
+ btnOpen = new Button();
+ cmbSN = new ComboBox();
+ lblSN = new Label();
+ cmbBrand = new ComboBox();
+ lblBrand = new Label();
+ statusStrip = new StatusStrip();
+ lblStatus = new ToolStripStatusLabel();
+ themeForm.SuspendLayout();
+ pnlMain.SuspendLayout();
+ pnlImage.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)picPreview).BeginInit();
+ grpResult.SuspendLayout();
+ grpParams.SuspendLayout();
+ grpControl.SuspendLayout();
+ statusStrip.SuspendLayout();
+ SuspendLayout();
+ //
+ // themeForm
+ //
+ themeForm.BackColor = Color.FromArgb(32, 41, 50);
+ themeForm.Controls.Add(controlBox1);
+ themeForm.Controls.Add(pnlMain);
+ themeForm.Dock = DockStyle.Fill;
+ themeForm.Font = new Font("Segoe UI", 9F);
+ themeForm.ForeColor = Color.FromArgb(142, 142, 142);
+ themeForm.Image = (Image)resources.GetObject("themeForm.Image");
+ themeForm.Location = new Point(0, 0);
+ themeForm.Name = "themeForm";
+ themeForm.Padding = new Padding(10, 70, 10, 9);
+ themeForm.RoundCorners = true;
+ themeForm.Sizable = true;
+ themeForm.Size = new Size(820, 600);
+ themeForm.SmartBounds = true;
+ themeForm.StartPosition = FormStartPosition.CenterScreen;
+ themeForm.TabIndex = 0;
+ themeForm.Text = "璇荤爜鍣ㄩ厤缃�";
+ //
+ // controlBox1
+ //
+ controlBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+ controlBox1.BackColor = Color.FromArgb(32, 41, 50);
+ controlBox1.CloseHoverColor = Color.FromArgb(230, 17, 35);
+ controlBox1.DefaultLocation = true;
+ controlBox1.EnableHoverHighlight = true;
+ controlBox1.EnableMaximizeButton = true;
+ controlBox1.EnableMinimizeButton = true;
+ controlBox1.ForeColor = Color.FromArgb(155, 155, 155);
+ controlBox1.Location = new Point(720, 18);
+ controlBox1.MaximizeHoverColor = Color.FromArgb(74, 74, 74);
+ controlBox1.MinimizeHoverColor = Color.FromArgb(63, 63, 65);
+ controlBox1.Name = "controlBox1";
+ controlBox1.Size = new Size(90, 25);
+ controlBox1.TabIndex = 0;
+ //
+ // pnlMain
+ //
+ pnlMain.BackColor = Color.FromArgb(32, 41, 50);
+ pnlMain.Controls.Add(pnlImage);
+ pnlMain.Controls.Add(grpResult);
+ pnlMain.Controls.Add(grpParams);
+ pnlMain.Controls.Add(grpControl);
+ pnlMain.Controls.Add(statusStrip);
+ pnlMain.Dock = DockStyle.Fill;
+ pnlMain.EdgeColor = Color.FromArgb(32, 41, 50);
+ pnlMain.Location = new Point(10, 70);
+ pnlMain.Name = "pnlMain";
+ pnlMain.Padding = new Padding(5);
+ pnlMain.Size = new Size(800, 521);
+ pnlMain.SmoothingType = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
+ pnlMain.TabIndex = 1;
+ //
+ // pnlImage
+ //
+ pnlImage.BorderStyle = BorderStyle.FixedSingle;
+ pnlImage.Controls.Add(picPreview);
+ pnlImage.Location = new Point(285, 23);
+ pnlImage.Name = "pnlImage";
+ pnlImage.Size = new Size(500, 472);
+ pnlImage.TabIndex = 0;
+ //
+ // picPreview
+ //
+ picPreview.Dock = DockStyle.Fill;
+ picPreview.Location = new Point(0, 0);
+ picPreview.Name = "picPreview";
+ picPreview.Size = new Size(498, 470);
+ picPreview.SizeMode = PictureBoxSizeMode.Zoom;
+ picPreview.TabIndex = 0;
+ picPreview.TabStop = false;
+ //
+ // grpResult
+ //
+ grpResult.Controls.Add(lstBarcodes);
+ grpResult.ForeColor = Color.White;
+ grpResult.Location = new Point(15, 380);
+ grpResult.Name = "grpResult";
+ grpResult.Size = new Size(260, 115);
+ grpResult.TabIndex = 1;
+ grpResult.TabStop = false;
+ grpResult.Text = "璇诲彇缁撴灉";
+ //
+ // lstBarcodes
+ //
+ lstBarcodes.BackColor = Color.FromArgb(42, 51, 60);
+ lstBarcodes.Dock = DockStyle.Fill;
+ lstBarcodes.ForeColor = Color.White;
+ lstBarcodes.ItemHeight = 15;
+ lstBarcodes.Location = new Point(3, 19);
+ lstBarcodes.Name = "lstBarcodes";
+ lstBarcodes.Size = new Size(254, 93);
+ lstBarcodes.TabIndex = 0;
+ //
+ // grpParams
+ //
+ grpParams.Controls.Add(txtTimeout);
+ grpParams.Controls.Add(lblTimeout);
+ grpParams.Controls.Add(radHardTrigger);
+ grpParams.Controls.Add(radSoftTrigger);
+ grpParams.ForeColor = Color.White;
+ grpParams.Location = new Point(15, 260);
+ grpParams.Name = "grpParams";
+ grpParams.Size = new Size(260, 110);
+ grpParams.TabIndex = 2;
+ grpParams.TabStop = false;
+ grpParams.Text = "鍙傛暟璁剧疆";
+ //
+ // txtTimeout
+ //
+ txtTimeout.Location = new Point(100, 62);
+ txtTimeout.Name = "txtTimeout";
+ txtTimeout.Size = new Size(140, 23);
+ txtTimeout.TabIndex = 0;
+ txtTimeout.Text = "2000";
+ //
+ // lblTimeout
+ //
+ lblTimeout.Location = new Point(15, 65);
+ lblTimeout.Name = "lblTimeout";
+ lblTimeout.Size = new Size(100, 23);
+ lblTimeout.TabIndex = 1;
+ lblTimeout.Text = "瓒呮椂(ms):";
+ //
+ // radHardTrigger
+ //
+ radHardTrigger.Location = new Point(130, 25);
+ radHardTrigger.Name = "radHardTrigger";
+ radHardTrigger.Size = new Size(104, 24);
+ radHardTrigger.TabIndex = 2;
+ radHardTrigger.Text = "鑷姩/纭Е鍙�";
+ //
+ // radSoftTrigger
+ //
+ radSoftTrigger.Checked = true;
+ radSoftTrigger.Location = new Point(15, 25);
+ radSoftTrigger.Name = "radSoftTrigger";
+ radSoftTrigger.Size = new Size(104, 24);
+ radSoftTrigger.TabIndex = 3;
+ radSoftTrigger.TabStop = true;
+ radSoftTrigger.Text = "杞Е鍙�";
+ radSoftTrigger.CheckedChanged += radTrigger_CheckedChanged;
+ //
+ // grpControl
+ //
+ grpControl.Controls.Add(btnRefresh);
+ grpControl.Controls.Add(btnSoftTrigger);
+ grpControl.Controls.Add(btnStop);
+ grpControl.Controls.Add(btnStart);
+ grpControl.Controls.Add(btnClose);
+ grpControl.Controls.Add(btnOpen);
+ grpControl.Controls.Add(cmbSN);
+ grpControl.Controls.Add(lblSN);
+ grpControl.Controls.Add(cmbBrand);
+ grpControl.Controls.Add(lblBrand);
+ grpControl.ForeColor = Color.White;
+ grpControl.Location = new Point(15, 15);
+ grpControl.Name = "grpControl";
+ grpControl.Size = new Size(260, 240);
+ grpControl.TabIndex = 3;
+ grpControl.TabStop = false;
+ grpControl.Text = "璁惧鎺у埗";
+ //
+ // btnRefresh
+ //
+ btnRefresh.Location = new Point(205, 56);
+ btnRefresh.Name = "btnRefresh";
+ btnRefresh.Size = new Size(35, 25);
+ btnRefresh.TabIndex = 0;
+ btnRefresh.Text = "R";
+ btnRefresh.Click += btnRefresh_Click;
+ //
+ // btnSoftTrigger
+ //
+ btnSoftTrigger.Location = new Point(13, 190);
+ btnSoftTrigger.Name = "btnSoftTrigger";
+ btnSoftTrigger.Size = new Size(227, 35);
+ btnSoftTrigger.TabIndex = 1;
+ btnSoftTrigger.Text = "杞Е鍙戜竴娆�";
+ btnSoftTrigger.Click += btnSoftTrigger_Click;
+ //
+ // btnStop
+ //
+ btnStop.Location = new Point(130, 145);
+ btnStop.Name = "btnStop";
+ btnStop.Size = new Size(110, 35);
+ btnStop.TabIndex = 2;
+ btnStop.Text = "鍋滄閲囬泦";
+ btnStop.Click += btnStop_Click;
+ //
+ // btnStart
+ //
+ btnStart.Location = new Point(13, 145);
+ btnStart.Name = "btnStart";
+ btnStart.Size = new Size(110, 35);
+ btnStart.TabIndex = 3;
+ btnStart.Text = "寮�濮嬮噰闆�";
+ btnStart.Click += btnStart_Click;
+ //
+ // btnClose
+ //
+ btnClose.Location = new Point(130, 100);
+ btnClose.Name = "btnClose";
+ btnClose.Size = new Size(110, 35);
+ btnClose.TabIndex = 4;
+ btnClose.Text = "鍏抽棴璁惧";
+ btnClose.Click += btnClose_Click;
+ //
+ // btnOpen
+ //
+ btnOpen.Location = new Point(13, 100);
+ btnOpen.Name = "btnOpen";
+ btnOpen.Size = new Size(110, 35);
+ btnOpen.TabIndex = 5;
+ btnOpen.Text = "鎵撳紑璁惧";
+ btnOpen.Click += btnOpen_Click;
+ //
+ // cmbSN
+ //
+ cmbSN.Location = new Point(70, 57);
+ cmbSN.Name = "cmbSN";
+ cmbSN.Size = new Size(130, 23);
+ cmbSN.TabIndex = 6;
+ //
+ // lblSN
+ //
+ lblSN.Location = new Point(10, 60);
+ lblSN.Name = "lblSN";
+ lblSN.Size = new Size(100, 23);
+ lblSN.TabIndex = 7;
+ lblSN.Text = "搴忓垪鍙�:";
+ //
+ // cmbBrand
+ //
+ cmbBrand.DropDownStyle = ComboBoxStyle.DropDownList;
+ cmbBrand.Location = new Point(70, 22);
+ cmbBrand.Name = "cmbBrand";
+ cmbBrand.Size = new Size(170, 23);
+ cmbBrand.TabIndex = 8;
+ //
+ // lblBrand
+ //
+ lblBrand.Location = new Point(10, 25);
+ lblBrand.Name = "lblBrand";
+ lblBrand.Size = new Size(100, 23);
+ lblBrand.TabIndex = 9;
+ lblBrand.Text = "鍝佺墝:";
+ //
+ // statusStrip
+ //
+ statusStrip.BackColor = Color.FromArgb(32, 41, 50);
+ statusStrip.Items.AddRange(new ToolStripItem[] { lblStatus });
+ statusStrip.Location = new Point(5, 494);
+ statusStrip.Name = "statusStrip";
+ statusStrip.Size = new Size(790, 22);
+ statusStrip.TabIndex = 4;
+ //
+ // lblStatus
+ //
+ lblStatus.ForeColor = Color.White;
+ lblStatus.Name = "lblStatus";
+ lblStatus.Size = new Size(56, 17);
+ lblStatus.Text = "鍑嗗灏辩华";
+ //
+ // BarcodeReaderForm
+ //
+ AutoScaleDimensions = new SizeF(7F, 17F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(820, 600);
+ Controls.Add(themeForm);
+ FormBorderStyle = FormBorderStyle.None;
+ MinimumSize = new Size(261, 61);
+ Name = "BarcodeReaderForm";
+ StartPosition = FormStartPosition.CenterScreen;
+ Text = "璇荤爜鍣ㄩ厤缃�";
+ TransparencyKey = Color.Fuchsia;
+ FormClosing += BarcodeReaderForm_FormClosing;
+ Load += BarcodeReaderForm_Load;
+ themeForm.ResumeLayout(false);
+ pnlMain.ResumeLayout(false);
+ pnlMain.PerformLayout();
+ pnlImage.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)picPreview).EndInit();
+ grpResult.ResumeLayout(false);
+ grpParams.ResumeLayout(false);
+ grpParams.PerformLayout();
+ grpControl.ResumeLayout(false);
+ statusStrip.ResumeLayout(false);
+ statusStrip.PerformLayout();
+ ResumeLayout(false);
+ }
+
+ private ReaLTaiizor.Forms.ThemeForm themeForm;
+ private ReaLTaiizor.Controls.Panel pnlMain;
+ private ReaLTaiizor.Controls.ControlBox controlBox1;
+ private System.Windows.Forms.GroupBox grpControl;
+ private System.Windows.Forms.Label lblBrand;
+ private System.Windows.Forms.ComboBox cmbBrand;
+ private System.Windows.Forms.Label lblSN;
+ private System.Windows.Forms.ComboBox cmbSN;
+ private System.Windows.Forms.Button btnRefresh;
+ private System.Windows.Forms.Button btnOpen;
+ private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.Button btnStart;
+ private System.Windows.Forms.Button btnStop;
+ private System.Windows.Forms.Button btnSoftTrigger;
+ private System.Windows.Forms.GroupBox grpParams;
+ private System.Windows.Forms.RadioButton radHardTrigger;
+ private System.Windows.Forms.RadioButton radSoftTrigger;
+ private System.Windows.Forms.Label lblTimeout;
+ private System.Windows.Forms.TextBox txtTimeout;
+ private System.Windows.Forms.GroupBox grpResult;
+ private System.Windows.Forms.ListBox lstBarcodes;
+ private System.Windows.Forms.StatusStrip statusStrip;
+ private System.Windows.Forms.ToolStripStatusLabel lblStatus;
+ private System.Windows.Forms.Panel pnlImage;
+ private System.Windows.Forms.PictureBox picPreview;
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs
new file mode 100644
index 0000000..911612c
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs
@@ -0,0 +1,305 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Windows.Forms;
+using LB_VisionProcesses.BarcodeReaders;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄩ厤缃笌娴嬭瘯绐椾綋
+ /// </summary>
+ public partial class BarcodeReaderForm : Form
+ {
+ private IBarcodeReader _reader;
+ private string _currentSN;
+ private LB_VisionProcesses.Processes.BarcodeReaderProcess _process;
+ private string _processPath;
+
+ public BarcodeReaderForm()
+ {
+ InitializeComponent();
+ }
+
+ public BarcodeReaderForm(IBarcodeReader reader)
+ {
+ InitializeComponent();
+ _reader = reader;
+ _reader.BarcodeRead += Reader_BarcodeRead;
+ _currentSN = _reader.IsConnected ? "璁惧宸插湪绾�" : "";
+
+ // 鍚屾 UI 鐘舵��
+ cmbBrand.Text = _reader.Brand.ToString();
+ cmbSN.Text = _reader.IsConnected ? "鍦ㄧ嚎璁惧" : "";
+ }
+
+ public BarcodeReaderForm(LB_VisionProcesses.Processes.BarcodeReaderProcess process, string processPath)
+ {
+ InitializeComponent();
+ _process = process;
+ _processPath = processPath;
+
+ // 鍔犺浇娴佺▼鍙傛暟鍒� UI
+ if (_process.Params.Inputs.ContainsKey("璁惧鍝佺墝"))
+ cmbBrand.Text = _process.Params.Inputs["璁惧鍝佺墝"].ToString();
+ if (_process.Params.Inputs.ContainsKey("璁惧SN"))
+ cmbSN.Text = _process.Params.Inputs["璁惧SN"].ToString();
+ if (_process.Params.Inputs.ContainsKey("瑙﹀彂妯″紡"))
+ radSoftTrigger.Checked = _process.Params.Inputs["瑙﹀彂妯″紡"].ToString() == "杞Е鍙�";
+ if (_process.Params.Inputs.ContainsKey("瓒呮椂鏃堕棿"))
+ txtTimeout.Text = _process.Params.Inputs["瓒呮椂鏃堕棿"].ToString();
+ }
+
+ private void BarcodeReaderForm_Load(object sender, EventArgs e)
+ {
+ // 鍒濆鍖栧搧鐗屽垪琛�
+ cmbBrand.Items.Clear();
+ foreach (var brand in Enum.GetValues(typeof(BarcodeReaderBrand)))
+ {
+ if ((BarcodeReaderBrand)brand != BarcodeReaderBrand.Unsupported)
+ {
+ cmbBrand.Items.Add(brand);
+ }
+ }
+
+ if (cmbBrand.Items.Count > 0)
+ cmbBrand.SelectedIndex = 0;
+
+ UpdateUIStatus();
+ }
+
+ private void btnRefresh_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (cmbBrand.SelectedItem == null) return;
+
+ var brand = (BarcodeReaderBrand)cmbBrand.SelectedItem;
+ using (var tempReader = BarcodeReaderFactory.CreateReader(brand))
+ {
+ var devices = tempReader.GetDeviceList();
+ cmbSN.Items.Clear();
+ if (devices != null && devices.Count > 0)
+ {
+ cmbSN.Items.AddRange(devices.ToArray());
+ cmbSN.SelectedIndex = 0;
+ }
+ }
+ lblStatus.Text = $"璁惧鍒楄〃宸插埛鏂帮紝鎵惧埌 {cmbSN.Items.Count} 涓澶�";
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"鍒锋柊璁惧鍒楄〃澶辫触: {ex.Message}", "閿欒", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void btnOpen_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (cmbSN.SelectedItem == null && string.IsNullOrEmpty(cmbSN.Text))
+ {
+ MessageBox.Show("璇烽�夋嫨鎴栬緭鍏ヨ澶囧簭鍒楀彿");
+ return;
+ }
+
+ _currentSN = cmbSN.Text;
+ var brand = (BarcodeReaderBrand)cmbBrand.SelectedItem;
+
+ if (_reader != null)
+ {
+ _reader.BarcodeRead -= Reader_BarcodeRead;
+ _reader.Dispose();
+ }
+
+ _reader = BarcodeReaderFactory.CreateReader(brand);
+ _reader.BarcodeRead += Reader_BarcodeRead;
+
+ if (_reader.Open(_currentSN))
+ {
+ lblStatus.Text = $"璁惧 {_currentSN} 宸叉墦寮�";
+ UpdateUIStatus();
+ }
+ else
+ {
+ MessageBox.Show("璁惧鎵撳紑澶辫触锛岃妫�鏌ヨ繛鎺ユ垨鍗犵敤鐘舵��");
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"鎵撳紑璁惧寮傚父: {ex.Message}");
+ }
+ }
+
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ if (_reader != null)
+ {
+ _reader.Close();
+ lblStatus.Text = "璁惧宸插叧闂�";
+ UpdateUIStatus();
+ }
+ }
+
+ private void btnStart_Click(object sender, EventArgs e)
+ {
+ if (_reader != null && _reader.IsConnected)
+ {
+ // 璁剧疆瑙﹀彂妯″紡锛堟牴鎹� UI 閫夋嫨锛�
+ _reader.SetTriggerMode(radSoftTrigger.Checked);
+
+ if (_reader.StartGrabbing())
+ {
+ lblStatus.Text = "閲囬泦宸插紑濮�";
+ UpdateUIStatus();
+ }
+ }
+ }
+
+ private void btnStop_Click(object sender, EventArgs e)
+ {
+ if (_reader != null && _reader.IsGrabbing)
+ {
+ if (_reader.StopGrabbing())
+ {
+ lblStatus.Text = "閲囬泦宸插仠姝�";
+ UpdateUIStatus();
+ }
+ }
+ }
+
+ private void btnSoftTrigger_Click(object sender, EventArgs e)
+ {
+ if (_reader != null && _reader.IsGrabbing)
+ {
+ _reader.SoftTrigger();
+ lblStatus.Text = "宸叉墽琛岃蒋瑙﹀彂";
+ }
+ else
+ {
+ lblStatus.Text = "璇峰厛寮�濮嬮噰闆嗗啀鎵ц瑙﹀彂";
+ }
+ }
+
+ private void radTrigger_CheckedChanged(object sender, EventArgs e)
+ {
+ if (_reader != null && _reader.IsConnected)
+ {
+ _reader.SetTriggerMode(radSoftTrigger.Checked);
+ lblStatus.Text = radSoftTrigger.Checked ? "宸插垏鎹㈣嚦杞Е鍙戞ā寮�" : "宸插垏鎹㈣嚦纭Е鍙�/鑷姩妯″紡";
+ }
+ }
+
+ private void Reader_BarcodeRead(object sender, BarcodeEventArgs e)
+ {
+ // 寮傛鏇存柊 UI
+ if (this.InvokeRequired)
+ {
+ this.BeginInvoke(new Action<object, BarcodeEventArgs>(Reader_BarcodeRead), sender, e);
+ return;
+ }
+
+ try
+ {
+ // 鏇存柊缁撴灉鍒楄〃
+ lstBarcodes.Items.Clear();
+ if (e.BarcodeInfos != null && e.BarcodeInfos.Count > 0)
+ {
+ foreach (var info in e.BarcodeInfos)
+ {
+ lstBarcodes.Items.Add($"{DateTime.Now:HH:mm:ss} - {info.Text}");
+ }
+ }
+ else
+ {
+ lstBarcodes.Items.Add($"{DateTime.Now:HH:mm:ss} - 鏈鍒版潯鐮�");
+ }
+
+ // 鏇存柊棰勮鍥惧儚骞剁粯鍒舵爣娉�
+ if (e.Image != null)
+ {
+ // 鍒涘缓鏂颁綅鍥剧敤浜庣粯鍥撅紝涓嶇洿鎺ヤ慨鏀� SDK 浼犲叆鐨勫師鍥�
+ Bitmap drawImg = new Bitmap(e.Image);
+ using (Graphics g = Graphics.FromImage(drawImg))
+ {
+ // 璁剧疆缁樺浘璐ㄩ噺
+ g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
+
+ using (Pen pen = new Pen(Color.LimeGreen, 3))
+ using (SolidBrush brush = new SolidBrush(Color.LimeGreen))
+ using (Font font = new Font("Arial", 16, FontStyle.Bold))
+ {
+ foreach (var info in e.BarcodeInfos)
+ {
+ if (info.Points != null && info.Points.Length >= 4)
+ {
+ // 缁樺埗鍥涜竟褰㈡
+ g.DrawPolygon(pen, info.Points);
+
+ // 鍦ㄧ涓�涓偣涓婃柟缁樺埗鏉$爜鍐呭
+ // 璁$畻缁樺埗鏂囨湰鐨勪綅缃紙绋嶅井鍋忕Щ涓�鐐归槻姝㈣鐩栬竟妗嗭級
+ Point textPos = info.Points[0];
+ textPos.Y -= 25;
+ g.DrawString(info.Text, font, brush, textPos);
+ }
+ }
+ }
+ }
+
+ // 閲婃斁鏃у浘鍍忥紝闃叉鍐呭瓨娉勬紡
+ var oldImg = picPreview.Image;
+ picPreview.Image = drawImg;
+ oldImg?.Dispose();
+ }
+ }
+ catch (Exception ex)
+ {
+ // 闈欓粯澶勭悊 UI 鏇存柊寮傚父
+ Console.WriteLine($"UI鏇存柊寮傚父: {ex.Message}");
+ }
+ }
+
+ private void UpdateUIStatus()
+ {
+ bool isConnected = _reader?.IsConnected ?? false;
+ bool isGrabbing = _reader?.IsGrabbing ?? false;
+
+ btnOpen.Enabled = !isConnected;
+ btnClose.Enabled = isConnected;
+ cmbBrand.Enabled = !isConnected;
+ cmbSN.Enabled = !isConnected;
+ btnRefresh.Enabled = !isConnected;
+
+ btnStart.Enabled = isConnected && !isGrabbing;
+ btnStop.Enabled = isGrabbing;
+ btnSoftTrigger.Enabled = isGrabbing && radSoftTrigger.Checked;
+
+ grpParams.Enabled = isConnected;
+ }
+
+ private void BarcodeReaderForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ // 鍏抽棴鍓嶄繚瀛樺弬鏁板埌娴佺▼
+ if (_process != null)
+ {
+ _process.Params.Inputs["璁惧鍝佺墝"] = cmbBrand.Text;
+ _process.Params.Inputs["璁惧SN"] = cmbSN.Text;
+ _process.Params.Inputs["瑙﹀彂妯″紡"] = radSoftTrigger.Checked ? "杞Е鍙�" : "纭Е鍙�";
+ if (int.TryParse(txtTimeout.Text, out int timeout))
+ _process.Params.Inputs["瓒呮椂鏃堕棿"] = timeout;
+
+ _process.Save(_processPath);
+ }
+
+ if (_reader != null)
+ {
+ if (_reader.IsGrabbing) _reader.StopGrabbing();
+ _reader.Close();
+ _reader.BarcodeRead -= Reader_BarcodeRead;
+ _reader.Dispose();
+ _reader = null;
+ }
+ }
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx
new file mode 100644
index 0000000..2df1d72
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx
@@ -0,0 +1,147 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="themeForm.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPiSURBVFhH7VZLiBxlEG7d+IjBKKtktqt6d8kybLqqZyfi
+ +lgUXcGooKIXxYBKLgZFQVDwgQhBvAVzUOPBi3iJgnoSCcTLKobEma7qHeOiuB7UiBo1PuIjq9HNSPX0
+ rDN/zyzbQjztB9+pv3r8/19dVZ63ilUUwBzzmbppGOpRcKlEcLNwcGfMsE0J7ogj//okws2NamlD83Zv
+ wLX9z2h63ulz7I8kDNsSxleF8CMl+EEY/lDCv5TxbyU8oQTHlfCIEL5kSbh+CqPpeafVIxgWwieUcU4I
+ /lTGZl8SnEgI3pBxPzTbOQ4Gkyi4pxEGFTuE639ZpFfNcIsS1LJT5gN28xdl3Cnj/oVmP7t59Hwl3K0M
+ C8owL4zbG9XSOjdOT5hQCB5Rxu97BMqT4BsJ4X6Z9M8x+483XXCuEO5KnyjTCOGvSvjMAQ4G3XhdODAV
+ rBWGHUL4Wy5Qb34Sk3/rzLS3xuwtCSV8ShmOu1p7wpjwBRkbO8+Nm6LpeQMxwX3Suk43ULczxpPKKLOR
+ f+WO7H1bz4YPpaftYdMiLMQET5rWje/FhJfHhF/kjXJcVIZ3tIJVKzazfc3zBpTwLmU82kPfRWH8Lg79
+ 67qC76uW1mkEr2Qnyxl1GC8K49uNEMbbtpZEjeBaXVnymR/Y2/UUNQqutn/bFTpcVMZ9ykF5ydDzvEMV
+ P4wZtYe+L+2Z4hBvSh3YP6rs71zu9PZNGN7tPLnBqloIXl/Oth+F4MW0eO0qlPA9V9BFwtlZhos6g89M
+ T69JGB/Xjt+tIDXtG41qaaMwftZDkBG+TAi2tAuuDaHhq4Thq7x+pYSvNRoiL54IJqwy84L05L8LwwPu
+ cLFOJ4Rv5vQFKAQ/xRxc1jeB9F0J9rxfHlzfGdxQD2GrJefaFGI7gfrEyJgwfp4X4GEN/Uk3+H5rtQx7
+ c/qCFIIjNSpFrcHBcLDro1U94a52i+1EHPoXC+VvrCiF4cNDlY2ltIsJwXOO4KiEOOUGN9jykc7/Hk4L
+ kWDPUkuWKLhBGY79+xH32824wQ3WcsWWENdhAdqktG1qyakVWszw1pKI8GW7ma7IGbQydImNYNdpIRLU
+ 4nDE73JcJ9gihN9mCexuTzkX2dR7TAh+zDleAa0N1wnvdvuKJ5OTZ9j6JQwL1l57jswMM6OjZ8eEN0q6
+ I8KnynjMVjKbF1lbPtlq3ykXW1tVuh39LITP992O5suD65XhWSH4QGlo1P3uYr5cPst0thckjLcp473K
+ 8LBYiyb/0YTwQdsLNYStlnASwRX9amsJaZcL8WkJcXu/OjjlODwVrI0jvOZgZUPJ/fa/wYrEnQGrOBX4
+ B6XRFGacFF+7AAAAAElFTkSuQmCC
+</value>
+ </data>
+</root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs b/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs
new file mode 100644
index 0000000..e807e53
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs
@@ -0,0 +1,278 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using EasyIDSDK_Net;
+
+namespace LB_VisionProcesses.BarcodeReaders.Huayray
+{
+ /// <summary>
+ /// 鍗庣澘璇荤爜鍣ㄥ疄鐜扮被
+ /// </summary>
+ public class HRBarcodeReader : BarcodeReaderBase
+ {
+ private EidCamera _camera;
+ private EidCamera.EidFrameCallback _frameCallback;
+ private GCHandle _callbackHandle;
+
+ public override BarcodeReaderBrand Brand => BarcodeReaderBrand.Huayray;
+
+ public HRBarcodeReader()
+ {
+ _camera = new EidCamera();
+ _frameCallback = OnFrameReceived;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鍦ㄧ嚎鐨勫崕鐫胯鐮佸櫒鍒楄〃
+ /// </summary>
+ public override List<string> GetDeviceList()
+ {
+ List<string> snList = new List<string>();
+ try
+ {
+ EidCamera.EidDeviceList devList = new EidCamera.EidDeviceList();
+ int nRet = EidCamera.eidEnumDevices_Net(ref devList, 0);
+ if (nRet == EidCamera.eidErrorOK && devList.num > 0)
+ {
+ for (int i = 0; i < devList.num; i++)
+ {
+ EidCamera.EidDeviceInfo deviceInfo = (EidCamera.EidDeviceInfo)Marshal.PtrToStructure(
+ devList.infos + Marshal.SizeOf(typeof(EidCamera.EidDeviceInfo)) * i,
+ typeof(EidCamera.EidDeviceInfo));
+ snList.Add(deviceInfo.serialNumber);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ // TODO: Log error
+ }
+ return snList;
+ }
+
+ public override bool Open(string sn)
+ {
+ if (IsConnected) Close();
+
+ try
+ {
+ // 鍏堣繘琛屼竴娆℃灇涓撅紝纭繚 SDK 鑳藉鍙戠幇璁惧锛堥儴鍒� SDK 瑕佹眰鍦ㄦ墦寮�鍓嶅繀椤绘墽琛屾灇涓撅級
+ GetDeviceList();
+
+ // 濡傛灉涔嬪墠澶辫触杩囷紝閲嶆柊鍒涘缓鐩告満瀵硅薄纭繚骞插噣鐘舵��
+ if (_camera == null)
+ {
+ _camera = new EidCamera();
+ }
+
+ // 纭繚涔嬪墠鐨勫彞鏌勫凡閲婃斁
+ try { _camera.eidReleaseHandle_Net(); } catch { }
+
+ // 鍒涘缓鍙ユ焺
+ int nRet = _camera.eidCreateDevice_Net(sn, EidCamera.EidDeviceDataType.eidDeviceDataTypeSN);
+ if (nRet != EidCamera.eidErrorOK) return false;
+ if (nRet != EidCamera.eidErrorOK)
+ {
+ _camera = null;
+ return false;
+ }
+
+ // 鍒嗛厤鍥哄畾鍙ユ焺缁欏鎵橈紝闃叉琚� GC 鍥炴敹
+ if (!_callbackHandle.IsAllocated)
+ {
+ _callbackHandle = GCHandle.Alloc(_frameCallback);
+ }
+
+ // 鎵撳紑璁惧
+ nRet = _camera.eidOpenDevice_Net();
+ if (nRet != EidCamera.eidErrorOK)
+ {
+ _camera.eidReleaseHandle_Net();
+ if (_callbackHandle.IsAllocated) _callbackHandle.Free();
+ _camera = null;
+ return false;
+ }
+
+ // 娉ㄥ唽鍥炶皟
+ nRet = _camera.eidRegisterFrameCallback_Net(_frameCallback, IntPtr.Zero);
+ if (nRet != EidCamera.eidErrorOK)
+ {
+ _camera.eidCloseDevice_Net();
+ _camera.eidReleaseHandle_Net();
+ if (_callbackHandle.IsAllocated) _callbackHandle.Free();
+ _camera = null;
+ return false;
+ }
+
+ this.SN = sn;
+ this.IsConnected = true;
+ return true;
+ }
+ catch
+ {
+ // 鍙戠敓寮傚父鏃剁‘淇濋噴鏀捐祫婧�
+ try { _camera?.eidCloseDevice_Net(); } catch { }
+ try { _camera?.eidReleaseHandle_Net(); } catch { }
+ if (_callbackHandle.IsAllocated) _callbackHandle.Free();
+ // 鍙戠敓寮傚父鏃堕噴鏀剧浉鏈哄璞★紝纭繚涓嬫鍒涘缓鏂板疄渚�
+ _camera = null;
+ return false;
+ }
+ }
+
+ public override bool Close()
+ {
+ if (!IsConnected) return true;
+
+ try
+ {
+ if (IsConnected)
+ {
+ StopGrabbing();
+ _camera.eidCloseDevice_Net();
+ _camera.eidReleaseHandle_Net();
+ _camera?.eidCloseDevice_Net();
+ }
+ // 鏃犺鏄惁杩炴帴锛岄兘灏濊瘯閲婃斁鍙ユ焺
+ _camera?.eidReleaseHandle_Net();
+
+ // 閲婃斁鍥炶皟鍙ユ焺
+ if (_callbackHandle.IsAllocated)
+ {
+ _callbackHandle.Free();
+ }
+
+ // 閲婃斁鐩告満瀵硅薄寮曠敤锛岀‘淇漇DK璧勬簮瀹屽叏閲婃斁
+ _camera = null;
+
+ this.IsConnected = false;
+ this.SN = string.Empty;
+ this.IsGrabbing = false;
+ return true;
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
+ public override bool StartGrabbing()
+ {
+ if (!IsConnected) return false;
+ if (IsGrabbing) return true;
+
+ int nRet = _camera.eidStartGrabbing_Net(0);
+ if (nRet == EidCamera.eidErrorOK)
+ {
+ this.IsGrabbing = true;
+ return true;
+ }
+ return false;
+ }
+
+ public override bool StopGrabbing()
+ {
+ if (!IsGrabbing) return true;
+
+ int nRet = _camera.eidStopGrabbing_Net();
+ this.IsGrabbing = false;
+ return nRet == EidCamera.eidErrorOK;
+ }
+
+ public override bool SoftTrigger()
+ {
+ if (!IsConnected || !IsGrabbing) return false;
+ int nRet = _camera.eidExecCommandFeature_Net("TriggerSoftware");
+ return nRet == EidCamera.eidErrorOK;
+ }
+
+ public override bool SetTriggerMode(bool isSoftware)
+ {
+ if (!IsConnected) return false;
+
+ int nRet;
+ if (isSoftware)
+ {
+ // 杞Е鍙戞ā寮�
+ nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerType", "SingleFrame");
+ if (nRet != EidCamera.eidErrorOK) return false;
+ nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerSource", "Software");
+ }
+ else
+ {
+ // 鑷敱杩愯鎴栫‖瑙﹀彂 (姝ゅ榛樿璁句负鑷敱杩愯锛屽彲鏍规嵁闇�瑕佹墿灞�)
+ nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerType", "FreeRun");
+ }
+ return nRet == EidCamera.eidErrorOK;
+ }
+
+ /// <summary>
+ /// SDK甯у洖璋冨鐞�
+ /// </summary>
+ private void OnFrameReceived(ref EidCamera.EidFrameInfo frameInfo, IntPtr userData)
+ {
+ try
+ {
+ List<BarcodeInfo> barcodeInfos = new List<BarcodeInfo>();
+ // 瑙f瀽鏉$爜
+ for (int i = 0; i < frameInfo.codeNum; i++)
+ {
+ EidCamera.EidCodeInfo codeInfo = (EidCamera.EidCodeInfo)Marshal.PtrToStructure(
+ frameInfo.codeList + Marshal.SizeOf(typeof(EidCamera.EidCodeInfo)) * i,
+ typeof(EidCamera.EidCodeInfo));
+
+ string data = Marshal.PtrToStringAnsi(codeInfo.data);
+ if (!string.IsNullOrEmpty(data))
+ {
+ BarcodeInfo info = new BarcodeInfo
+ {
+ Text = data,
+ Points = new Point[]
+ {
+ new Point((int)codeInfo.position[0].x, (int)codeInfo.position[0].y),
+ new Point((int)codeInfo.position[1].x, (int)codeInfo.position[1].y),
+ new Point((int)codeInfo.position[2].x, (int)codeInfo.position[2].y),
+ new Point((int)codeInfo.position[3].x, (int)codeInfo.position[3].y)
+ }
+ };
+ barcodeInfos.Add(info);
+ }
+ }
+
+ // 杞崲鍥惧儚 (濡傛灉闇�瑕�)
+ // 杞崲鍥惧儚
+ Bitmap bitmap = null;
+ if (frameInfo.imageDataLen > 0 && frameInfo.imageData != IntPtr.Zero)
+ {
+ // 杩欓噷绠�鍖栧鐞嗭紝濡傛灉鏄疛peg鍒欑洿鎺ヤ粠鍐呭瓨鍔犺浇锛屽鏋滄槸Raw鍒欓渶杞崲
+ // 瀹為檯椤圭洰涓彲鏍规嵁 frameInfo.format 杩涜澶勭悊
+ if (frameInfo.isJpeg)
+ {
+ byte[] managedArray = new byte[frameInfo.imageDataLen];
+ Marshal.Copy(frameInfo.imageData, managedArray, 0, (int)frameInfo.imageDataLen);
+ using (var ms = new System.IO.MemoryStream(managedArray))
+ {
+ bitmap = new Bitmap(ms);
+ }
+ }
+ }
+
+ // 瑙﹀彂浜嬩欢
+ OnBarcodeRead(new BarcodeEventArgs(this.SN, barcodeInfos, bitmap));
+ }
+ catch (Exception ex)
+ {
+ // TODO: Log error
+ }
+ }
+
+ public override void Dispose()
+ {
+ Close();
+ base.Dispose();
+ }
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs b/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs
new file mode 100644
index 0000000..497bd70
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs
@@ -0,0 +1,136 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄥ搧鐗屾灇涓�
+ /// </summary>
+ public enum BarcodeReaderBrand
+ {
+ Huayray, // 鍗庣澘
+ Unsupported
+ }
+
+ /// <summary>
+ /// 鏉$爜璇︾粏淇℃伅
+ /// </summary>
+ public class BarcodeInfo
+ {
+ public string Text { get; set; }
+ /// <summary>
+ /// 鏉$爜鐨勫洓涓《鐐瑰潗鏍�
+ /// </summary>
+ public Point[] Points { get; set; }
+ }
+
+ /// <summary>
+ /// 璇荤爜缁撴灉鍙傛暟绫�
+ /// </summary>
+ public class BarcodeEventArgs : EventArgs
+ {
+ /// <summary>
+ /// 璁惧搴忓垪鍙�
+ /// </summary>
+ public string SN { get; set; }
+
+ /// <summary>
+ /// 鏉$爜璇︾粏淇℃伅鍒楄〃
+ /// </summary>
+ public List<BarcodeInfo> BarcodeInfos { get; set; } = new List<BarcodeInfo>();
+
+ /// <summary>
+ /// 浠呰幏鍙栨潯鐮佹枃鏈垪琛� (淇濇寔鍏煎鎬�)
+ /// </summary>
+ public List<string> Barcodes => BarcodeInfos.Select(x => x.Text).ToList();
+
+ /// <summary>
+ /// 鍏宠仈鍥惧儚 (鍙��)
+ /// </summary>
+ public Bitmap Image { get; set; }
+
+ /// <summary>
+ /// 鏄惁璇诲彇鎴愬姛
+ /// </summary>
+ public bool IsSuccess => BarcodeInfos.Count > 0;
+
+ public BarcodeEventArgs(string sn, List<BarcodeInfo> barcodeInfos, Bitmap image = null)
+ {
+ SN = sn;
+ BarcodeInfos = barcodeInfos;
+ Image = image;
+ }
+ }
+
+ /// <summary>
+ /// 璇荤爜鍣ㄦ娊璞℃帴鍙�
+ /// </summary>
+ public interface IBarcodeReader : IDisposable
+ {
+ /// <summary>
+ /// 璇荤爜缁撴灉鍥炶皟浜嬩欢
+ /// </summary>
+ event EventHandler<BarcodeEventArgs> BarcodeRead;
+
+ /// <summary>
+ /// 鑾峰彇璁惧鍒楄〃鏋氫妇
+ /// </summary>
+ /// <returns>SN鍒楄〃</returns>
+ List<string> GetDeviceList();
+
+ /// <summary>
+ /// 鍒濆鍖栧苟鎵撳紑璇荤爜鍣�
+ /// </summary>
+ /// <param name="sn">搴忓垪鍙�</param>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool Open(string sn);
+
+ /// <summary>
+ /// 鍏抽棴璇荤爜鍣�
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool Close();
+
+ /// <summary>
+ /// 寮�濮嬮噰闆�/鐩戝惉
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool StartGrabbing();
+
+ /// <summary>
+ /// 鍋滄閲囬泦/鐩戝惉
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool StopGrabbing();
+
+ /// <summary>
+ /// 鎵ц杞Е鍙戜竴娆�
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool SoftTrigger();
+
+ /// <summary>
+ /// 璁剧疆瑙﹀彂妯″紡
+ /// </summary>
+ /// <param name="isSoftware">true涓鸿蒋瑙﹀彂, false涓虹‖瑙﹀彂鎴栬嚜鍔ㄧ洃鍚�</param>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool SetTriggerMode(bool isSoftware);
+
+ /// <summary>
+ /// 璁惧鏄惁鍦ㄧ嚎
+ /// </summary>
+ bool IsConnected { get; }
+
+ /// <summary>
+ /// 璁惧鏄惁姝e湪閲囬泦
+ /// </summary>
+ bool IsGrabbing { get; }
+
+ /// <summary>
+ /// 璁惧鍝佺墝
+ /// </summary>
+ BarcodeReaderBrand Brand { get; }
+ }
+}
diff --git a/LB_VisionProcesses/IProcess.cs b/LB_VisionProcesses/IProcess.cs
index be533e7..0539cbe 100644
--- a/LB_VisionProcesses/IProcess.cs
+++ b/LB_VisionProcesses/IProcess.cs
@@ -18,6 +18,8 @@
{
//鐩告満
{ "鐩告満鍙栧浘", "LB_VisionProcesses.Cameras.CameraConfig" },
+ ////璇荤爜鍣�
+ //{ "璇荤爜鍣�", "LB_VisionProcesses.Cameras.CameraConfig" },
//閫氳
{ "閫氳娴嬭瘯", "LB_VisionProcesses.Communicators.CommunicatorConfig" },
//{ "T306閫氳", "LB_VisionProcesses.Communicators.T306CommandTool" },
@@ -32,6 +34,7 @@
{ "Halcon2D_璇荤爜宸ュ叿", "LB_VisionProcesses.Alogrithms.Halcon.HFindCode2dTool" },
{ "Halcon2D_鎵剧嚎宸ュ叿", "LB_VisionProcesses.Alogrithms.Halcon.HFindLineTool" },
{ "Halcon2D_鎵惧姬宸ュ叿", "LB_VisionProcesses.Alogrithms.Halcon.HFindEllipseTool" },
+ { "Halcon2D_鍥惧儚澧炲己宸ュ叿", "LB_VisionProcesses.Alogrithms.Halcon.HImageEnhancementTool" },
//鎬濊皨娣卞害瀛︿範绠楁硶
{ "璇箟鍒嗗壊宸ュ叿", "LB_VisionProcesses.Alogrithms.BigModel.Segment.SegmentTool" },
diff --git a/LB_VisionProcesses/LB_VisionProcesses.csproj b/LB_VisionProcesses/LB_VisionProcesses.csproj
index a21f8aa..7287192 100644
--- a/LB_VisionProcesses/LB_VisionProcesses.csproj
+++ b/LB_VisionProcesses/LB_VisionProcesses.csproj
@@ -52,6 +52,9 @@
</ItemGroup>
<ItemGroup>
+ <Reference Include="EasyIDSDK_Net">
+ <HintPath>ref\EasyIDSDK_Net.dll</HintPath>
+ </Reference>
<Reference Include="halcondotnetxl">
<HintPath>ref\halcondotnetxl.dll</HintPath>
</Reference>
@@ -132,6 +135,7 @@
<ItemGroup>
<Folder Include="Alogrithms\Halcon\3D\" />
+ <Folder Include="BarcodeReaders\" />
</ItemGroup>
<ItemGroup>
diff --git a/LB_VisionProcesses/LB_VisionProcesses.csproj.user b/LB_VisionProcesses/LB_VisionProcesses.csproj.user
index ba0c745..5bff7ec 100644
--- a/LB_VisionProcesses/LB_VisionProcesses.csproj.user
+++ b/LB_VisionProcesses/LB_VisionProcesses.csproj.user
@@ -22,6 +22,12 @@
<Compile Update="Alogrithms\Halcon\2D\HFindMultiModelTool\HFindMultiModelToolEdit.cs">
<SubType>UserControl</SubType>
</Compile>
+ <Compile Update="Alogrithms\Halcon\2D\HImageEnhancementTool\HImageEnhancementToolEdit.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Update="BarcodeReaders\BarcodeReaderForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
<Compile Update="Communicators\UserCommunicator\T306CommandTool\T306CommandToolEdit.cs">
<SubType>UserControl</SubType>
</Compile>
diff --git a/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs b/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs
new file mode 100644
index 0000000..62cc669
--- /dev/null
+++ b/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs
@@ -0,0 +1,149 @@
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Text;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using LB_VisionProcesses.BarcodeReaders;
+
+namespace LB_VisionProcesses.Processes
+{
+ public class BarcodeReaderProcess : IProcess
+ {
+ /// <summary>
+ /// 璇荤爜鍣ㄥ疄渚嬮泦鍚� (鐢变富绋嬪簭绠$悊骞朵紶鍏�)
+ /// </summary>
+ [JsonIgnore]
+ public ConcurrentDictionary<string, BarcodeReaderBase> dicBarcodeReaders { get; set; }
+
+ /// <summary>
+ /// 褰撳墠鍏宠仈鐨勮鐮佸櫒
+ /// </summary>
+ [JsonIgnore]
+ public BarcodeReaderBase Reader { get; set; }
+
+ public BarcodeReaderProcess()
+ {
+ strProcessName = "璇荤爜宸ュ叿";
+ strProcessClass = "LB_VisionProcesses.Processes.BarcodeReaderProcess";
+
+ Params.Inputs.Add("璁惧鍝佺墝", "Huayray");
+ Params.Inputs.Add("璁惧SN", "");
+ Params.Inputs.Add("瑙﹀彂妯″紡", "杞Е鍙�");
+ Params.Inputs.Add("瓒呮椂鏃堕棿", 2000);
+
+ Params.Outputs.Add("鏉$爜缁撴灉", "");
+ Params.Outputs.Add("鐮佹暟閲�", 0);
+ }
+
+ public override void InitRunParams()
+ {
+ Result = true;
+ Msg = "鍑嗗杩愯";
+ bCompleted = false;
+ }
+
+ public override bool Run()
+ {
+ DateTime StartTime = DateTime.Now;
+ try
+ {
+ InitRunParams();
+
+ string sn = Params.Inputs["璁惧SN"]?.ToString();
+ if (string.IsNullOrEmpty(sn))
+ {
+ Msg = "璁惧SN鏈厤缃�";
+ Result = false;
+ return false;
+ }
+
+ // 浠庡叏灞�鍙橀噺鎴栦紶鍏ュ瓧鍏歌幏鍙�
+ if (dicBarcodeReaders == null)
+ {
+ // 灏濊瘯浠庡叏灞� dicGlobalVars 鑾峰彇 (鍋囪涓荤▼搴忓凡鏀惧叆)
+ if (dicGlobalVars.ContainsKey("dicBarcodeReaders"))
+ {
+ dicBarcodeReaders = dicGlobalVars["dicBarcodeReaders"] as ConcurrentDictionary<string, BarcodeReaderBase>;
+ }
+ }
+
+ if (dicBarcodeReaders != null && dicBarcodeReaders.ContainsKey(sn))
+ {
+ Reader = dicBarcodeReaders[sn];
+ }
+
+ if (Reader == null)
+ {
+ Msg = $"璇荤爜鍣╗{sn}]鏈垵濮嬪寲";
+ Result = false;
+ return false;
+ }
+
+ string triggerMode = Params.Inputs["瑙﹀彂妯″紡"]?.ToString();
+ if (triggerMode == "杞Е鍙�")
+ {
+ bool success = Reader.SoftTrigger();
+ Msg = success ? "瑙﹀彂鎴愬姛" : "瑙﹀彂澶辫触";
+ Result = success;
+ }
+ }
+ catch (Exception ex)
+ {
+ Msg = "杩愯寮傚父: " + ex.Message;
+ Result = false;
+ }
+ finally
+ {
+ RunTime = (DateTime.Now - StartTime).TotalMilliseconds;
+ bCompleted = true;
+ }
+ return Result;
+ }
+
+ public override bool Load(string fullPath)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(fullPath) || !File.Exists(fullPath)) return false;
+ string json = File.ReadAllText(fullPath, Encoding.UTF8);
+ Params = JsonConvert.DeserializeObject<ProcessParams>(json);
+ Params?.FixDeserializedData();
+ return true;
+ }
+ catch { return false; }
+ }
+
+ public override bool Save(string filePath)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(filePath)) return false;
+ if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
+ string fullPath = Path.Combine(filePath, strProcessName + ".json");
+ string json = JsonConvert.SerializeObject(Params, Formatting.Indented);
+ File.WriteAllText(fullPath, json, Encoding.UTF8);
+ return true;
+ }
+ catch { return false; }
+ }
+
+ public override object Clone()
+ {
+ try
+ {
+ var obj = (BarcodeReaderProcess)MemberwiseClone();
+ string json = JsonConvert.SerializeObject(this.Params);
+ obj.Params = JsonConvert.DeserializeObject<ProcessParams>(json);
+ return obj;
+ }
+ catch { return (BarcodeReaderProcess)MemberwiseClone(); }
+ }
+
+ public override void Dispose() { }
+ }
+}
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/EasyIDSDK_Net.dll b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/EasyIDSDK_Net.dll
new file mode 100644
index 0000000..689a25d
--- /dev/null
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/EasyIDSDK_Net.dll
Binary files differ
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/EasyIDSDK_Net.xml b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/EasyIDSDK_Net.xml
new file mode 100644
index 0000000..38d7685
--- /dev/null
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/EasyIDSDK_Net.xml
@@ -0,0 +1,1812 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>EasyIDSDK_Net</name>
+ </assembly>
+ <members>
+ <member name="T:EasyIDSDK_Net.EidCamera">
+ <summary>
+ <para><ch>EidCamera</ch></para>
+ <para><en>EidCamera</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOK">
+ <summary>
+ <para><ch>鎴愬姛</ch></para>
+ <para><en>OK</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorUnknown">
+ <summary>
+ <para><ch>鏈煡閿欒</ch></para>
+ <para><en>Unknown error</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInternalError">
+ <summary>
+ <para><ch>鍐呴儴閿欒</ch></para>
+ <para><en>Internal error</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidParameter">
+ <summary>
+ <para><ch>鏃犳晥鍙傛暟</ch></para>
+ <para><en>Invalid parameter</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotConnected">
+ <summary>
+ <para><ch>鐩告満鏈繛鎺�</ch></para>
+ <para><en>Camera not connected</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotFound">
+ <summary>
+ <para><ch>鏈壘鍒�</ch></para>
+ <para><en>Not found</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorTimeout">
+ <summary>
+ <para><ch>瓒呮椂</ch></para>
+ <para><en>Timeout</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotImplemented">
+ <summary>
+ <para><ch>鏈疄鐜�</ch></para>
+ <para><en>Not implemented</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorRepeatOperation">
+ <summary>
+ <para><ch>閲嶅鎿嶄綔</ch></para>
+ <para><en>Repeat operation</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNullPtr">
+ <summary>
+ <para><ch>绌烘寚閽�</ch></para>
+ <para><en>Null pointer</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorReadDataFail">
+ <summary>
+ <para><ch>璇诲彇鏁版嵁澶辫触</ch></para>
+ <para><en>Failed to read data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteDataFail">
+ <summary>
+ <para><ch>鍐欏叆鏁版嵁澶辫触</ch></para>
+ <para><en>Failed to write data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDataCheckFail">
+ <summary>
+ <para><ch>鏁版嵁鏍¢獙澶辫触</ch></para>
+ <para><en>Data verification failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageSizeError">
+ <summary>
+ <para><ch>鍥惧儚澶у皬閿欒</ch></para>
+ <para><en>Wrong image size</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageTypeError">
+ <summary>
+ <para><ch>鍥惧儚绫诲瀷閿欒</ch></para>
+ <para><en>Wrong image type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageDataTypeError">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁绫诲瀷閿欒</ch></para>
+ <para><en>Wrong image data type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorSerializeFail">
+ <summary>
+ <para><ch>搴忓垪鍖栧け璐�</ch></para>
+ <para><en>Serialization failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDeserializeFail">
+ <summary>
+ <para><ch>鍙嶅簭鍒楀寲澶辫触</ch></para>
+ <para><en>Deserialization failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOpenFileFail">
+ <summary>
+ <para><ch>鎵撳紑鏂囦欢澶辫触</ch></para>
+ <para><en>Failed to open file</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteFileFail">
+ <summary>
+ <para><ch>鏂囦欢鍐欏叆澶辫触</ch></para>
+ <para><en>File writing failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidHandle">
+ <summary>
+ <para><ch>鏃犳晥鍙ユ焺</ch></para>
+ <para><en>Invalid handle</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInsufficientBuffer">
+ <summary>
+ <para><ch>缂撳啿鍖鸿繃灏�</ch></para>
+ <para><en>Insufficient buffers</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.#ctor">
+ <summary>
+ <para><ch>鏋勯�犲嚱鏁�</ch></para>
+ <para><en>Constructor</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetVersion_Net">
+ <summary>
+ <para><ch>鑾峰彇鐗堟湰淇℃伅</ch></para>
+ <para><en>Get version information</en></para>
+ </summary>
+ <returns><para><ch>鐗堟湰淇℃伅</ch></para><para><en>Version infomation</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidEnumDevices_Net(EasyIDSDK_Net.EidCamera.EidDeviceList@,System.UInt32)">
+ <summary>
+ <para><ch>鏍规嵁鎺ュ彛绫诲瀷鏋氫妇鐩告満, 鍚屾椂杈撳嚭鎵�鏈夌浉鏈轰俊鎭埌 deviceList</ch></para>
+ <para><en>Enumerate devices according to the interface type, and outputting all devices information to the deviceList</en></para>
+ </summary>
+ <param name="deviceList"><para><ch>[out] 璁惧淇℃伅鍒楄〃</ch></para><para><en>[out] Device information list</en></para></param>
+ <param name="type"><para><ch>[in] 鎺ュ彛绫诲瀷, 鍙互鏄涓帴鍙g被鍨嬬殑缁勫悎. 鑻ヤ紶鍏ュ�间负0琛ㄧず鎵�鏈夌被鍨�, 涓� eidInterfaceTypeAll 鍚箟鐩稿悓, 鍏朵綑鍙栧�煎弬鑰� #EidInterfaceType</ch></para>
+ <para><en>[in] Interface type, which can be a combination of multiple interface types.If the value of the parameter is 0, it means all types, which is the same as eidInterfaceTypeAll. other value see #EidInterfaceType</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidCreateDevice_Net(System.String,EasyIDSDK_Net.EidCamera.EidDeviceDataType)">
+ <summary>
+ <para><ch>鏍规嵁璁惧鏁版嵁淇℃伅鍒涘缓鐩稿簲鐨勮澶囧璞�, 濡傚彲浠ラ�氳繃璁惧搴忓垪鍙峰垱寤恒��</ch></para>
+ <para><en>Create a device handle according to the device data, for example, you can create a device object through the serial number.
+ This interface will not enumerate devices and needs to be called after #eidEnumDevices.</en></para>
+ </summary>
+ <param name="data"><para><ch>[in] 璁惧鏁版嵁, 鏁版嵁鍐呭鐨勫惈涔夌敱 type 鍙傛暟鍐冲畾</ch></para><para><en>[in] Device data, the meaning of the data content is determined by the type parameter</en></para></param>
+ <param name="type"><para><ch>[in] 鏁版嵁绫诲瀷, 榛樿鍊兼槸璁惧搴忓垪鍙�</ch></para><para><en>[in] Data type</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ <remarks><para><ch>娉ㄦ剰闇�瑕佽皟鐢� #eidReleaseHandle_Net 閲婃斁璧勬簮銆�</ch></para><para><en>Note that need to call #eidReleaseHandle_Net to release resources.</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseHandle_Net">
+ <summary>
+ <para><ch>閲婃斁鐩告満鍙ユ焺璧勬簮</ch></para>
+ <para><en>Release device handle resources</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetDeviceInfo_Net(EasyIDSDK_Net.EidCamera.EidDeviceInfo@)">
+ <summary>
+ <para><ch>鑾峰彇璁惧淇℃伅</ch></para>
+ <para><en>Get device infomation</en></para>
+ </summary>
+ <param name="info"><para><ch>[out] 璁惧淇℃伅</ch></para><para><en>[out] Pointer to a EidDeviceInfo structure to receive the device information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidOpenDevice_Net">
+ <summary>
+ <para><ch>鎵撳紑璁惧</ch></para>
+ <para><en>Open a device</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidCloseDevice_Net">
+ <summary>
+ <para><ch>鍏抽棴璁惧</ch></para>
+ <para><en>Close a device</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsDeviceOpen_Net">
+ <summary>
+ <para><ch>璁惧鏄惁宸茬粡鎵撳紑</ch></para>
+ <para><en>Gets a value indicating whether the media source is currently open. .</en></para>
+ </summary>
+ <returns><para><ch>濡傛灉璁惧澶勪簬鎵撳紑鐘舵�侊紝杩斿洖 true锛屽惁鍒欙紝false</ch></para><para><en>True if the device is open; otherwise, false</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidForceIpAddress_Net(System.String,System.String,System.String)">
+ <summary>
+ <para><ch>淇敼鐩告満IP. 璇ユ帴鍙e彧閽堝閫氳繃缃戝崱鎺ュ叆鐨勮澶囷紝瀵逛簬鍏朵綑璁惧锛岃皟鐢ㄦ鎺ュ彛鏃犳剰涔�</ch></para>
+ <para><en>Modify the device IP. This interface is only for devices connected through a network card.
+ For other devices, it is meaningless to call this interface.</en></para>
+ </summary>
+ <param name="ipAddr"><para><ch>[in] 璁惧IP鍦板潃</ch></para><para><en>[in] New IP address</en></para></param>
+ <param name="subnetMask"><para><ch>[in] 瀛愮綉鎺╃爜</ch></para><para><en>[in] New subnet mask</en></para></param>
+ <param name="gateway"><para><ch>[in] 榛樿缃戝叧</ch></para><para><en>[in] New default gateway</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidDownloadGenICamXML_Net(System.String)">
+ <summary>
+ <para><ch>涓嬭浇璁惧鎻忚堪XML鏂囦欢锛屽苟淇濆瓨鍒版寚瀹氳矾寰�</ch></para>
+ <para><en>Download device description XML file, and save the file to specified path</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSaveDeviceConfig_Net(System.String)">
+ <summary>
+ <para><ch>淇濆瓨璁惧閰嶇疆鍒版寚瀹氱殑璺緞</ch></para>
+ <para><en>Save the configuration of the device to specified path</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidLoadDeviceConfig_Net(System.String,EasyIDSDK_Net.EidCamera.EidErrorList@)">
+ <summary>
+ <para><ch>浠庢枃浠跺姞杞借澶囬厤缃�</ch></para>
+ <para><en>Load the device configuration from a file</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 閰嶇疆鏂囦欢璺緞</ch></para><para><en>[in] Configuration file path</en></para></param>
+ <param name="errorList"><para><ch>[out] 閿欒鍒楄〃鎸囬拡, 鍐欏叆澶辫触鐨勮澶囧睘鎬у悕绉板皢閫氳繃璇ュ弬鏁拌繑鍥�</ch></para><para><en>[out] Pointor to error list. The device feature names that failed to write will be returned with this parameter</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFeatureType_Net(System.String)">
+ <summary>
+ <para><ch>鑾峰彇璁惧灞炴�х被鍨�</ch></para>
+ <para><en>Get device feature type</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>璁惧灞炴�х被鍨�, 瑙� #EidFeatureType</ch></para><para><en>Device feature type, see enum #EidFeatureType</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureValid_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚︽湁鏁�</ch></para>
+ <para><en>Is the device feature valid</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureAvailable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲鐢�</ch></para>
+ <para><en>Is the device feature available</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙敤,false 涓嶅彲鐢�</ch></para><para><en>true Available,false Not available</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureReadable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲璇�</ch></para>
+ <para><en>Is the device feature readable</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙,false 涓嶅彲璇�</ch></para><para><en>true Readable,false Not readable</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureWriteable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲鍐�</ch></para>
+ <para><en>Is the device feature writeable</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙啓,false 涓嶅彲鍐�</ch></para><para><en>true Writeable,false Not writeable</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureValue_Net(System.String,System.Int64@)">
+ <summary>
+ <para><ch>鑾峰彇鏁村瀷灞炴�у��</ch></para>
+ <para><en>Get integer feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetIntFeatureValue_Net(System.String,System.Int64)">
+ <summary>
+ <para><ch>璁剧疆鏁村瀷灞炴�у��</ch></para>
+ <para><en>Set integer feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidIntFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇鏁村瀷灞炴�т俊鎭�</ch></para>
+ <para><en>Gets integer feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureValue_Net(System.String,System.Double@)">
+ <summary>
+ <para><ch>鑾峰彇娴偣鍨嬪睘鎬у��</ch></para>
+ <para><en>Get float feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetFloatFeatureValue_Net(System.String,System.Double)">
+ <summary>
+ <para><ch>璁剧疆娴偣鍨嬪睘鎬у��</ch></para>
+ <para><en>Set float feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>Gets float feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetBoolFeatureValue_Net(System.String,System.Boolean@)">
+ <summary>
+ <para><ch>鑾峰彇甯冨皵鍨嬪睘鎬у��</ch></para>
+ <para><en>Get bool feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetBoolFeatureValue_Net(System.String,System.Boolean)">
+ <summary>
+ <para><ch>璁剧疆甯冨皵鍨嬪睘鎬у��</ch></para>
+ <para><en>Set bool feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureValue_Net(System.String,System.Byte@,System.UInt32@)">
+ <summary>
+ <para><ch>鑾峰彇瀛楃涓插瀷灞炴�у��</ch></para>
+ <para><en>Get string feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖�, 鐢ㄦ埛鍒嗛厤鍐呭瓨绌洪棿</ch></para><para><en>[out] Pointer to string feature value buffer that is allocated memory space by the user</en></para></param>
+ <param name="size"><para><ch>[in,out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖洪暱搴�.</ch></para><para><en>[in,out] The length of the string buffer.</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ <remarks><para><ch>褰撳嚱鏁拌繑鍥炴椂, 濡傛灉缂撳啿鍖鸿冻澶熷ぇ, 鎵�鏈夌殑鏁版嵁閮戒細鎷疯礉鍒� value 缂撳啿鍖�, 骞朵笖姝ゅ弬鏁扮殑鍊兼槸瀹為檯瀛楃涓茬殑闀垮害(涓嶅寘鍚玭ull缁撴潫绗�);
+ 濡傛灉缂撳啿鍖轰笉澶熷ぇ, 缂撳啿鍖虹殑鏁版嵁鏄埅鏂悗鐨勫瓧绗︿覆鍐呭, 骞朵笖姝ゅ弬鏁板寘鍚瓧绗︿覆鐨勫疄闄呴暱搴�(涓嶅寘鍚玭ull缁撴潫绗�)</ch></para><para><en>When the function returns, if the buffer is large enough,
+ all data is copied to the value buffer, and the value of this parameter is the length of the actual string (without the null terminator);
+ If the buffer is not large enough, the buffer's data is the truncated string content,
+ and this parameter contains the actual length of the string (without the null terminator)</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetStringFeatureValue_Net(System.String,System.Byte@)">
+ <summary>
+ <para><ch>璁剧疆瀛楃涓插瀷灞炴�у��</ch></para>
+ <para><en>Set string feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidStringFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+ <para><en>Gets string feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureValue_Net(System.String,System.UInt64@)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬у��</ch></para>
+ <para><en>Get enum feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureValue_Net(System.String,System.UInt64)">
+ <summary>
+ <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬у��</ch></para>
+ <para><en>Set enum feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureSymbol_Net(System.String,System.Byte@,System.UInt32)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+ <para><en>Get enum feature symbol</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�х鍙�</ch></para><para><en>[out] Pointer to enum feature symbol buffer</en></para></param>
+ <param name="size"><para><ch>[in] 灞炴�х鍙风紦鍐查暱搴�</ch></para><para><en>[in] The length of symbol buffer</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureSymbol_Net(System.String,System.String)">
+ <summary>
+ <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+ <para><en>Set enum feature symbol</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�х鍙�</ch></para><para><en>[in] Feature symbol</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureEntryList_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList@)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬ф潯鐩垪琛�</ch></para>
+ <para><en>Get enum feature entry list</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="entryList"><para><ch>[out] 鏋氫妇鏉$洰鍒楄〃</ch></para><para><en>[out] Pointer to a EidEnumFeatureEntryList structure to receive the enum entry list</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidExecCommandFeature_Net(System.String)">
+ <summary>
+ <para><ch>鎵ц鍛戒护琛屽睘鎬�</ch></para>
+ <para><en>Execute command feature</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidEnumFeatureChildren_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback,System.IntPtr)">
+ <summary>
+ <para><ch>鏋氫妇瀛愬睘鎬�</ch></para>
+ <para><en>Enum Feature Children</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="fn"><para><ch>[in] 鍥炶皟鍑芥暟, 姣忎釜瀛愬睘鎬ч兘灏嗕細瑙﹀彂涓�娆¤鍑芥暟鐨勮皟鐢�</ch></para><para><en>[in] callback function, each child feature will invoke this method</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] user data for callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidStartGrabbing_Net(System.Int32)">
+ <summary>
+ <para><ch>寮�濮嬪彇娴�</ch></para>
+ <para><en>Start grabbing, then you can get the camera frame through #eidGetFrame</en></para>
+ </summary>
+ <param name="bufferCount"><para><ch>[in] 甯х紦瀛樻暟閲�, 0琛ㄧず浣跨敤榛樿缂撳瓨鏁�, >0浣跨敤璁剧疆鐨勭紦瀛樻暟</ch></para><para><en>[in] The number of frame buffers, 0 means to use the default number of buffers, >0 to use the set number of buffers</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidStopGrabbing_Net">
+ <summary>
+ <para><ch>鍋滄鍙栨祦</ch></para>
+ <para><en>Stop grabbing</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsGrabbing_Net">
+ <summary>
+ <para><ch>鏄惁姝e湪鍙栨祦</ch></para>
+ <para><en>Check whether it is grabbing or not</en></para>
+ </summary>
+ <returns><para><ch>濡傛灉姝e湪鍙栨祦, 杩斿洖true; 鍚﹀垯杩斿洖false</ch></para><para><en>Returns true if it is grabbing; otherwise returns false</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidClearFrameBuffer_Net">
+ <summary>
+ <para><ch>娓呴櫎甯ф暟鎹紦瀛�</ch></para>
+ <para><en>clear frame buffer cache</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrame_Net(System.UInt32)">
+ <summary>
+ <para><ch>鑾峰彇涓�甯у浘鍍�, 鑻ョ浉鏈哄紑鍚簡璇荤爜鍔熻兘, 甯ф暟鎹腑鍚屾椂鎼哄甫鏉$爜淇℃伅.</ch></para>
+ <para><en>Get a frame. If the code reading function is enabled, the frame data also carries the barcode information.</en></para>
+ </summary>
+ <param name="timeout"><para><ch>[in] 瓒呮椂鏃堕棿, 鍗曚綅: 姣. 褰撳�间负-1鏃惰〃绀烘棤闄愮瓑寰�</ch></para><para><en>[in] Timeout, in ms, when the value is -1, it means infinite wait</en></para></param>
+ <returns><para><ch>甯ф暟鎹彞鏌�, 澶辫触杩斿洖 nullptr</ch></para><para><en>Frame handle, failure returns nullptr</en></para></returns>
+ <remarks><para><ch>璇ユ帴鍙e皢瀵艰嚧绾跨▼闃诲, 鐩村埌鏀跺埌鍥惧儚鎴栬�呭埌杈捐秴鏃舵椂闂�. 杩斿洖鐨勫彞鏌勯渶瑕侀�氳繃 #eidReleaseFrame_Net 杩涜閲婃斁</ch></para><para><en>This method will block the thread until the timeout is reached.
+ The returned handle needs to be released through #eidReleaseFrame_Net</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseFrame_Net(System.IntPtr@)">
+ <summary>
+ <para><ch>閲婃斁涓�甯у浘鍍�</ch></para>
+ <para><en>Release a frame</en></para>
+ </summary>
+ <param name="frame"><para><ch>甯ф暟鎹彞鏌�</ch></para><para><en>Frame handle</en></para></param>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFrameValid_Net(System.IntPtr)">
+ <summary>
+ <para><ch>甯у彞鏌勬槸鍚︽湁鏁�</ch></para>
+ <para><en>Is the frame handle valid</en></para>
+ </summary>
+ <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+ <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrameInfo_Net(System.IntPtr,EasyIDSDK_Net.EidCamera.EidFrameInfo@)">
+ <summary>
+ <para><ch>鑾峰彇甯т俊鎭�. 甯т俊鎭噷鍚屾椂鍖呭惈鍥惧儚鏁版嵁鍜屾潯鐮佹暟鎹�</ch></para>
+ <para><en>Get frame information. The frame information contains both image data and barcode data</en></para>
+ </summary>
+ <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+ <param name="info"><para><ch>[out] 甯т俊鎭�</ch></para><para><en>[out] Frame information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFrameCallback_Net(EasyIDSDK_Net.EidCamera.EidFrameCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽甯ф暟鎹洖璋�</ch></para>
+ <para><en>Register frame data callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 甯ф暟鎹洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to frame data callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterConnectionCallback_Net(EasyIDSDK_Net.EidCamera.EidConnectionCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽璁惧杩炴帴淇℃伅鍥炶皟</ch></para>
+ <para><en>Register device connection information callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para><para><en>[in] A pointer to device connection information callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFeatureUpdateCallback_Net(EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽璁惧灞炴�ф洿鏂板洖璋�</ch></para>
+ <para><en>Register device feature update callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to device feature update callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureType">
+ <summary>
+ <para><ch>灞炴�х被鍨�</ch></para>
+ <para><en>Feature type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeUnknown">
+ <summary>
+ <para><ch>鏈畾涔�</ch></para>
+ <para><en>Undefined</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeInt">
+ <summary>
+ <para><ch>鏁村瀷鏁�</ch></para>
+ <para><en>Integer</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeFloat">
+ <summary>
+ <para><ch>娴偣鏁�</ch></para>
+ <para><en>Float</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeEnum">
+ <summary>
+ <para><ch>鏋氫妇</ch></para>
+ <para><en>Enumeration</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeBool">
+ <summary>
+ <para><ch>甯冨皵</ch></para>
+ <para><en>Bool</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeString">
+ <summary>
+ <para><ch>瀛楃涓�</ch></para>
+ <para><en>String</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeCommand">
+ <summary>
+ <para><ch>鍛戒护</ch></para>
+ <para><en>Command</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeGroup">
+ <summary>
+ <para><ch>鍒嗙粍</ch></para>
+ <para><en>Group</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidInterfaceType">
+ <summary>
+ <para><ch>鎺ュ彛绫诲瀷</ch></para>
+ <para><en>Interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUnknown">
+ <summary>
+ <para><ch>鏈煡鎺ュ彛绫诲瀷</ch></para>
+ <para><en>Unknown interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeGige">
+ <summary>
+ <para><ch>缃戝崱鎺ュ彛绫诲瀷</ch></para>
+ <para><en>NIC type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUsb">
+ <summary>
+ <para><ch>USB鎺ュ彛绫诲瀷</ch></para>
+ <para><en>USB interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeAll">
+ <summary>
+ <para><ch>鎵�鏈夋帴鍙g被鍨�</ch></para>
+ <para><en>All interface type</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceType">
+ <summary>
+ <para><ch>璁惧绫诲瀷</ch></para>
+ <para><en>Device type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUnknown">
+ <summary>
+ <para><ch>鏈煡绫诲瀷</ch></para>
+ <para><en>Unknown type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeGige">
+ <summary>
+ <para><ch>GIGE鐩告満</ch></para>
+ <para><en>GigE Camera</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUSB">
+ <summary>
+ <para><ch>USB鐩告満</ch></para>
+ <para><en>USB Camera</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceDataType">
+ <summary>
+ <para><ch>璁惧鏁版嵁绫诲瀷, 鐢ㄤ簬 #eidCreateDevice 鍑芥暟</ch></para>
+ <para><en>Device data type, used in the #eidCreateDevice function</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeID">
+ <summary>
+ <para><ch>璁惧ID</ch></para>
+ <para><en>Device ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeSN">
+ <summary>
+ <para><ch>搴忓垪鍙�</ch></para>
+ <para><en>Serial number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeIP">
+ <summary>
+ <para><ch>IP鍦板潃</ch></para>
+ <para><en>IP address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeMAC">
+ <summary>
+ <para><ch>MAC鍦板潃</ch></para>
+ <para><en>MAC address</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidPixelFormat">
+ <summary>
+ <para><ch>鍥惧儚鍍忕礌鏍煎紡</ch></para>
+ <para><en>Image pixel format</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelUnknwon">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono1p">
+ <summary>
+ <para><ch>Mono1p</ch></para>
+ <para><en>Mono1p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono2p">
+ <summary>
+ <para><ch>Mono2p</ch></para>
+ <para><en>Mono2p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono4p">
+ <summary>
+ <para><ch>Mono4p</ch></para>
+ <para><en>Mono4p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8">
+ <summary>
+ <para><ch>Mono8</ch></para>
+ <para><en>Mono8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8S">
+ <summary>
+ <para><ch>Mono8S</ch></para>
+ <para><en>Mono8S</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10">
+ <summary>
+ <para><ch>Mono10</ch></para>
+ <para><en>Mono10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10Packed">
+ <summary>
+ <para><ch>Mono10Packed</ch></para>
+ <para><en>Mono10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12">
+ <summary>
+ <para><ch>Mono12</ch></para>
+ <para><en>Mono12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12Packed">
+ <summary>
+ <para><ch>Mono12Packed</ch></para>
+ <para><en>Mono12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono14">
+ <summary>
+ <para><ch>Mono14</ch></para>
+ <para><en>Mono14</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono16">
+ <summary>
+ <para><ch>Mono16</ch></para>
+ <para><en>Mono16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR8">
+ <summary>
+ <para><ch>BayGR8</ch></para>
+ <para><en>BayGR8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG8">
+ <summary>
+ <para><ch>BayRG8</ch></para>
+ <para><en>BayRG8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB8">
+ <summary>
+ <para><ch>BayGB8</ch></para>
+ <para><en>BayGB8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG8">
+ <summary>
+ <para><ch>BayBG8</ch></para>
+ <para><en>BayBG8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10">
+ <summary>
+ <para><ch>BayGR10</ch></para>
+ <para><en>BayGR10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10">
+ <summary>
+ <para><ch>BayRG10</ch></para>
+ <para><en>BayRG10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10">
+ <summary>
+ <para><ch>BayGB10</ch></para>
+ <para><en>BayGB10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10">
+ <summary>
+ <para><ch>BayBG10</ch></para>
+ <para><en>BayBG10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12">
+ <summary>
+ <para><ch>BayGR12</ch></para>
+ <para><en>BayGR12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12">
+ <summary>
+ <para><ch>BayRG12</ch></para>
+ <para><en>BayRG12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12">
+ <summary>
+ <para><ch>BayGB12</ch></para>
+ <para><en>BayGB12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12">
+ <summary>
+ <para><ch>BayBG12</ch></para>
+ <para><en>BayBG12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10Packed">
+ <summary>
+ <para><ch>BayGR10Packed</ch></para>
+ <para><en>BayGR10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10Packed">
+ <summary>
+ <para><ch>BayRG10Packed</ch></para>
+ <para><en>BayRG10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10Packed">
+ <summary>
+ <para><ch>BayGB10Packed</ch></para>
+ <para><en>BayGB10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10Packed">
+ <summary>
+ <para><ch>BayBG10Packed</ch></para>
+ <para><en>BayBG10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12Packed">
+ <summary>
+ <para><ch>BayGR12Packed</ch></para>
+ <para><en>BayGR12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12Packed">
+ <summary>
+ <para><ch>BayRG12Packed</ch></para>
+ <para><en>BayRG12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12Packed">
+ <summary>
+ <para><ch>BayGB12Packed</ch></para>
+ <para><en>BayGB12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12Packed">
+ <summary>
+ <para><ch>BayBG12Packed</ch></para>
+ <para><en>BayBG12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR16">
+ <summary>
+ <para><ch>BayGR16</ch></para>
+ <para><en>BayGR16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG16">
+ <summary>
+ <para><ch>BayRG16</ch></para>
+ <para><en>BayRG16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB16">
+ <summary>
+ <para><ch>BayGB16</ch></para>
+ <para><en>BayGB16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG16">
+ <summary>
+ <para><ch>BayBG16</ch></para>
+ <para><en>BayBG16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8">
+ <summary>
+ <para><ch>RGB8</ch></para>
+ <para><en>RGB8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR8">
+ <summary>
+ <para><ch>BGR8</ch></para>
+ <para><en>BGR8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGBA8">
+ <summary>
+ <para><ch>RGBA8</ch></para>
+ <para><en>RGBA8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGRA8">
+ <summary>
+ <para><ch>BGRA8</ch></para>
+ <para><en>BGRA8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10">
+ <summary>
+ <para><ch>RGB10</ch></para>
+ <para><en>RGB10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR10">
+ <summary>
+ <para><ch>BGR10</ch></para>
+ <para><en>BGR10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12">
+ <summary>
+ <para><ch>RGB12</ch></para>
+ <para><en>RGB12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR12">
+ <summary>
+ <para><ch>BGR12</ch></para>
+ <para><en>BGR12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16">
+ <summary>
+ <para><ch>RGB16</ch></para>
+ <para><en>RGB16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10V1Packed">
+ <summary>
+ <para><ch>RGB10V1Packed</ch></para>
+ <para><en>RGB10V1Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10P32">
+ <summary>
+ <para><ch>RGB10P32</ch></para>
+ <para><en>RGB10P32</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12V1Packed">
+ <summary>
+ <para><ch>RGB12V1Packed</ch></para>
+ <para><en>RGB12V1Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB565P">
+ <summary>
+ <para><ch>RGB565P</ch></para>
+ <para><en>RGB565P</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR565P">
+ <summary>
+ <para><ch>BGR565P</ch></para>
+ <para><en>BGR565P</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV411_8_UYYVYY">
+ <summary>
+ <para><ch>YUV411_8_UYYVYY</ch></para>
+ <para><en>YUV411_8_UYYVYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8_UYVY">
+ <summary>
+ <para><ch>YUV422_8_UYVY</ch></para>
+ <para><en>YUV422_8_UYVY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8">
+ <summary>
+ <para><ch>YUV422_8 </ch></para>
+ <para><en>YUV422_8 </en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV8_UYV">
+ <summary>
+ <para><ch>YUV8_UYV</ch></para>
+ <para><en>YUV8_UYV</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr8CbYCr">
+ <summary>
+ <para><ch>YCbCr8CbYCr</ch></para>
+ <para><en>YCbCr8CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8">
+ <summary>
+ <para><ch>YCbCr422_8</ch></para>
+ <para><en>YCbCr422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr422_8_CbYCrY</ch></para>
+ <para><en>YCbCr422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_8_CbYCr">
+ <summary>
+ <para><ch>YCbCr601_8_CbYCr</ch></para>
+ <para><en>YCbCr601_8_CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8">
+ <summary>
+ <para><ch>YCbCr601_422_8</ch></para>
+ <para><en>YCbCr601_422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr601_422_8_CbYCrY</ch></para>
+ <para><en>YCbCr601_422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr601_411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr601_411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_8_CbYCr">
+ <summary>
+ <para><ch>YCbCr709_8_CbYCr</ch></para>
+ <para><en>YCbCr709_8_CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8">
+ <summary>
+ <para><ch>YCbCr709_422_8</ch></para>
+ <para><en>YCbCr709_422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr709_422_8_CbYCrY</ch></para>
+ <para><en>YCbCr709_422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr709_411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr709_411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8Planar">
+ <summary>
+ <para><ch>RGB8Planar</ch></para>
+ <para><en>RGB8Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10Planar">
+ <summary>
+ <para><ch>RGB10Planar</ch></para>
+ <para><en>RGB10Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12Planar">
+ <summary>
+ <para><ch>RGB12Planar</ch></para>
+ <para><en>RGB12Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16Planar">
+ <summary>
+ <para><ch>RGB16Planar</ch></para>
+ <para><en>RGB16Planar</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidReadState">
+ <summary>
+ <para><ch>璇荤爜鐘舵��</ch></para>
+ <para><en>Code reading state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateUnknown">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNA">
+ <summary>
+ <para><ch>鏃犳晥</ch></para>
+ <para><en>Not available</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateComplete">
+ <summary>
+ <para><ch>鍏ㄩ儴</ch></para>
+ <para><en>Complete</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNoRead">
+ <summary>
+ <para><ch>鏃犳潯鐮�</ch></para>
+ <para><en>No code was read</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePartial">
+ <summary>
+ <para><ch>閮ㄥ垎</ch></para>
+ <para><en>Partial</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateFail">
+ <summary>
+ <para><ch>澶辫触</ch></para>
+ <para><en>Fail</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNA">
+ <summary>
+ <para><ch>鏃犳晥(Phase妯″紡)</ch></para>
+ <para><en>Not available(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseComplete">
+ <summary>
+ <para><ch>鍏ㄩ儴(Phase妯″紡)</ch></para>
+ <para><en>Complete(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNoRead">
+ <summary>
+ <para><ch>鏃犳潯鐮�(Phase妯″紡)</ch></para>
+ <para><en>No code was read(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhasePartial">
+ <summary>
+ <para><ch>閮ㄥ垎(Phase妯″紡)</ch></para>
+ <para><en>Partial(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseFail">
+ <summary>
+ <para><ch>澶辫触(Phase妯″紡)</ch></para>
+ <para><en>Fail(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidBarcodeType">
+ <summary>
+ <para><ch>鐮佺被鍨�</ch></para>
+ <para><en>Barcode type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUnknown">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN8">
+ <summary>
+ <para><ch>EAN8</ch></para>
+ <para><en>EAN8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN13">
+ <summary>
+ <para><ch>EAN13</ch></para>
+ <para><en>EAN13 type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode39">
+ <summary>
+ <para><ch>Code39</ch></para>
+ <para><en>Code39</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode93">
+ <summary>
+ <para><ch>Code93</ch></para>
+ <para><en>Code93</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode128">
+ <summary>
+ <para><ch>Code128</ch></para>
+ <para><en>Code128</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCA">
+ <summary>
+ <para><ch>UPCA</ch></para>
+ <para><en>UPCA</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCE">
+ <summary>
+ <para><ch>UPCE</ch></para>
+ <para><en>UPCE</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeITF25">
+ <summary>
+ <para><ch>ITF25</ch></para>
+ <para><en>ITF25</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODABAR">
+ <summary>
+ <para><ch>CODABAR</ch></para>
+ <para><en>CODABAR</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128A">
+ <summary>
+ <para><ch>CODE128A</ch></para>
+ <para><en>CODE128A</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128B">
+ <summary>
+ <para><ch>CODE128B</ch></para>
+ <para><en>CODE128B</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128C">
+ <summary>
+ <para><ch>CODE128C</ch></para>
+ <para><en>CODE128C</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeQR">
+ <summary>
+ <para><ch>QR</ch></para>
+ <para><en>QR</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeDM">
+ <summary>
+ <para><ch>DM</ch></para>
+ <para><en>DM</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypePDF417">
+ <summary>
+ <para><ch>PDF417</ch></para>
+ <para><en>PDF417</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeVERICODE">
+ <summary>
+ <para><ch>VERICODE</ch></para>
+ <para><en>VERICODE</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionState">
+ <summary>
+ <para><ch>杩炴帴浜嬩欢绫诲瀷</ch></para>
+ <para><en>Connect event type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOffline">
+ <summary>
+ <para><ch>绂荤嚎</ch></para>
+ <para><en>Offline</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOnline">
+ <summary>
+ <para><ch>鍦ㄧ嚎</ch></para>
+ <para><en>Online</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo">
+ <summary>
+ <para><ch>GigE璁惧淇℃伅</ch></para>
+ <para><en>GigE device info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.macAddress">
+ <summary>
+ <para><ch>璁惧Mac鍦板潃</ch></para>
+ <para><en>Device MAC Address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.ipAddress">
+ <summary>
+ <para><ch>璁惧Ip鍦板潃</ch></para>
+ <para><en>Device ip Address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.subnetMask">
+ <summary>
+ <para><ch>瀛愮綉鎺╃爜</ch></para>
+ <para><en>SubnetMask</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.defaultGateWay">
+ <summary>
+ <para><ch>榛樿缃戝叧</ch></para>
+ <para><en>Default GateWay</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.isIpValid">
+ <summary>
+ <para><ch>Ip鏄惁鏈夋晥</ch></para>
+ <para><en>Ip valid</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.chReserved">
+ <summary>
+ <para><ch>淇濈暀</ch></para>
+ <para><en>Reserved field</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo">
+ <summary>
+ <para><ch>璁惧淇℃伅</ch></para>
+ <para><en>Device info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceType">
+ <summary>
+ <para><ch>璁惧绫诲埆</ch></para>
+ <para><en>Device type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceType">
+ <summary>
+ <para><ch>鎺ュ彛绫诲埆</ch></para>
+ <para><en>Interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceID">
+ <summary>
+ <para><ch>璁惧ID</ch></para>
+ <para><en>Device ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.cameraName">
+ <summary>
+ <para><ch>鐢ㄦ埛鑷畾涔夊悕</ch></para>
+ <para><en>User defined name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.serialNumber">
+ <summary>
+ <para><ch>璁惧搴忓垪鍙�</ch></para>
+ <para><en>Device serial number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.vendorName">
+ <summary>
+ <para><ch>鍘傚晢</ch></para>
+ <para><en>Device vendor</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.modelName">
+ <summary>
+ <para><ch>璁惧鍨嬪彿</ch></para>
+ <para><en>Device model</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.manufactureInfo">
+ <summary>
+ <para><ch>璁惧鍒堕�犱俊鎭�</ch></para>
+ <para><en>Device manufacture</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceVersion">
+ <summary>
+ <para><ch>璁惧鐗堟湰</ch></para>
+ <para><en>Device version</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceName">
+ <summary>
+ <para><ch>鎺ュ彛鍚�</ch></para>
+ <para><en>Interface name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reseved</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.stSpecialInfo">
+ <summary>
+ <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+ <para><en>special device Info</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO">
+ <summary>
+ <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+ <para><en>special device Info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO.gigeDeviceInfo">
+ <summary>
+ <para><ch>Gige璁惧淇℃伅</ch></para>
+ <para><en>Gige device info</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceList">
+ <summary>
+ <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+ <para><en>Device information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.num">
+ <summary>
+ <para><ch>璁惧鏁伴噺</ch></para>
+ <para><en>Device Number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.infos">
+ <summary>
+ <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+ <para><en>Device information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidErrorList">
+ <summary>
+ <para><ch>閿欒鍒楄〃</ch></para>
+ <para><en>Error list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.num">
+ <summary>
+ <para><ch>澶辫触鐨勫睘鎬ф暟閲�</ch></para>
+ <para><en>Number of failed features</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.names">
+ <summary>
+ <para><ch>澶辫触灞炴�у悕鍒楄〃</ch></para>
+ <para><en>Error feature name list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo">
+ <summary>
+ <para><ch>鏁村瀷灞炴�т俊鎭�</ch></para>
+ <para><en>int feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.current">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.min">
+ <summary>
+ <para><ch>鏈�灏忓��</ch></para>
+ <para><en>Minimum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.max">
+ <summary>
+ <para><ch>鏈�澶у��</ch></para>
+ <para><en>Maximum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.inc">
+ <summary>
+ <para><ch>澧為噺</ch></para>
+ <para><en>Increment</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo">
+ <summary>
+ <para><ch>娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>float feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.current">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.min">
+ <summary>
+ <para><ch>鏈�灏忓��</ch></para>
+ <para><en>Minimum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.max">
+ <summary>
+ <para><ch>鏈�澶у��</ch></para>
+ <para><en>Maximum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.unit">
+ <summary>
+ <para><ch>鍗曚綅</ch></para>
+ <para><en>Unit</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo">
+ <summary>
+ <para><ch>瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+ <para><en>String feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.maxLen">
+ <summary>
+ <para><ch>鏈�澶ч暱搴�</ch></para>
+ <para><en>The maximum length of the String</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.value">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry">
+ <summary>
+ <para><ch>鏋氫妇鍨嬪睘鎬ф潯鐩�</ch></para>
+ <para><en>enum feature entry</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.value">
+ <summary>
+ <para><ch>鍊�</ch></para>
+ <para><en>Value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.name">
+ <summary>
+ <para><ch>鍚嶇О</ch></para>
+ <para><en>Current Name</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList">
+ <summary>
+ <para><ch>鏋氫妇鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>enum feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.num">
+ <summary>
+ <para><ch>鏁伴噺</ch></para>
+ <para><en>count</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.entryList">
+ <summary>
+ <para><ch>鏉$洰鍒楄〃</ch></para>
+ <para><en>Entry list</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidPoint">
+ <summary>
+ <para><ch>浜岀淮鍧愭爣鐐�</ch></para>
+ <para><en>2D coordinate point</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.x">
+ <summary>
+ <para><ch>x鍧愭爣</ch></para>
+ <para><en>x-coordinate</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.y">
+ <summary>
+ <para><ch>y鍧愭爣</ch></para>
+ <para><en>y-coordinate</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidCodeInfo">
+ <summary>
+ <para><ch>鏉$爜淇℃伅</ch></para>
+ <para><en>Barcode information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.type">
+ <summary>
+ <para><ch>绫诲瀷</ch></para>
+ <para><en>Code type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.ppm">
+ <summary>
+ <para><ch>PPM</ch></para>
+ <para><en>PPM</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.position">
+ <summary>
+ <para><ch>浣嶇疆, 4涓偣</ch></para>
+ <para><en>Position, 4 points</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.data">
+ <summary>
+ <para><ch>鍐呭</ch></para>
+ <para><en>Code content</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.typeName">
+ <summary>
+ <para><ch>绫诲瀷鍚嶇О</ch></para>
+ <para><en>Code type name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFrameInfo">
+ <summary>
+ <para><ch>甯т俊鎭�</ch></para>
+ <para><en>Frame information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.id">
+ <summary>
+ <para><ch>甯D</ch></para>
+ <para><en>Frame block ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.timestamp">
+ <summary>
+ <para><ch>鏃堕棿鎴�</ch></para>
+ <para><en>Timestamp</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.width">
+ <summary>
+ <para><ch>鍥惧儚瀹藉害</ch></para>
+ <para><en>Image width</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.height">
+ <summary>
+ <para><ch>鍥惧儚楂樺害</ch></para>
+ <para><en>Image height</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.format">
+ <summary>
+ <para><ch>鍍忕礌鏍煎紡</ch></para>
+ <para><en>Pixel format</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.readState">
+ <summary>
+ <para><ch>璇荤爜鐘舵��</ch></para>
+ <para><en>Code reading state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeNum">
+ <summary>
+ <para><ch>鏉$爜鏁伴噺</ch></para>
+ <para><en>Number of barcodes</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageDataLen">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁闀垮害</ch></para>
+ <para><en>Length of image data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageData">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁</ch></para>
+ <para><en>Image data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeList">
+ <summary>
+ <para><ch>鏉$爜淇℃伅鍒�</ch></para>
+ <para><en>Barcode information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.isJpeg">
+ <summary>
+ <para><ch>鏄惁jpeg鍥�</ch></para>
+ <para><en>Is jpeg image</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionInfo">
+ <summary>
+ <para><ch>杩炴帴淇℃伅</ch></para>
+ <para><en>Connetion information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.state">
+ <summary>
+ <para><ch>杩炴帴鐘舵��</ch></para>
+ <para><en>Connetion state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFrameCallback">
+ <summary>
+ <para><ch>甯ф暟鎹洖璋冨嚱鏁�</ch></para>
+ <para><en>Frame data callback function</en></para>
+ </summary>
+ <param name="frameInfo"><para><ch>甯т俊鎭�</ch></para><para><en>frameInfo Frame info</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionCallback">
+ <summary>
+ <para><ch>璁惧杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para>
+ <para><en>Device connection information callback function</en></para>
+ </summary>
+ <param name="frameInfo"><para><ch>杩炴帴淇℃伅</ch></para><para><en>info Connection infomation</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback">
+ <summary>
+ <para><ch>璁惧灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para>
+ <para><en>Device feature update callback function</en></para>
+ </summary>
+ <param name="name"><para><ch>灞炴�у悕绉�</ch></para><para><en>name Device feature name</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback">
+ <summary>
+ <para><ch>鏋氫妇瀛愬睘鎬х殑鍥炶皟鍑芥暟, 鍦� eidEnumFeatureChildren 鍑芥暟涓娇鐢�, 姣忔鎺ユ敹涓�涓瓙灞炴�х殑鍚嶇О</ch></para>
+ <para><en>Callback function used with the eidEnumFeatureChildren function. It receives children feature names</en></para>
+ </summary>
+ <param name="name"><para><ch>瀛愬睘鎬у悕绉�</ch></para><para><en>name child feature name</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ </members>
+</doc>
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.dll b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.dll
index c5b5d07..d3da2d2 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.dll
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.dll
Binary files differ
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.pdb b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.pdb
index 1c27551..ced4000 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.pdb
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCameraDevice.pdb
Binary files differ
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
index f42c8e4..9e053cb 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.dll
Binary files differ
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
index 8643bdd..349267a 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_SmartVisionCommon.pdb
Binary files differ
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll
index 49434b3..c49cc4c 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.dll
Binary files differ
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb
index ef8ba7a..a0146a9 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionControls.pdb
Binary files differ
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.deps.json b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.deps.json
index e2729b1..4710854 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.deps.json
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.deps.json
@@ -32,6 +32,7 @@
"SmartMore.ViMo.Inference": "3.19.1.2",
"ZXing.Net": "0.16.11",
"ZXing.Net.Bindings.Windows.Compatibility": "0.16.14",
+ "EasyIDSDK_Net": "1.3.0.9252",
"halcondotnetxl": "25.11.0.0",
"MvCameraControl.Net": "4.7.0.2",
"MvCodeReaderSDK.Net": "1.5.3.2",
@@ -1698,6 +1699,14 @@
}
}
},
+ "EasyIDSDK_Net/1.3.0.9252": {
+ "runtime": {
+ "EasyIDSDK_Net.dll": {
+ "assemblyVersion": "1.3.0.9252",
+ "fileVersion": "1.0.0.42745"
+ }
+ }
+ },
"halcondotnetxl/25.11.0.0": {
"runtime": {
"halcondotnetxl.dll": {
@@ -2494,6 +2503,11 @@
"serviceable": false,
"sha512": ""
},
+ "EasyIDSDK_Net/1.3.0.9252": {
+ "type": "reference",
+ "serviceable": false,
+ "sha512": ""
+ },
"halcondotnetxl/25.11.0.0": {
"type": "reference",
"serviceable": false,
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.dll b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.dll
index e348a43..c2e79b0 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.dll
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.dll
Binary files differ
diff --git a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb
index 0e8737f..0dad076 100644
--- a/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb
+++ b/LB_VisionProcesses/bin/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb
Binary files differ
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.Alogrithms.Halcon.HImageEnhancementToolEdit.resources b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.Alogrithms.Halcon.HImageEnhancementToolEdit.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.Alogrithms.Halcon.HImageEnhancementToolEdit.resources
Binary files differ
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfo.cs b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfo.cs
index f9a4ee7..03f39b5 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfo.cs
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LB_VisionProcesses")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+63394fccfd4a07428d93f106a46a9393d8a9dd54")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ed2cb324d534291a221bb5a8cabe8ff48b3a46f3")]
[assembly: System.Reflection.AssemblyProductAttribute("LB_VisionProcesses")]
[assembly: System.Reflection.AssemblyTitleAttribute("LB_VisionProcesses")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfoInputs.cache b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfoInputs.cache
index a947475..17a75fd 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfoInputs.cache
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.AssemblyInfoInputs.cache
@@ -1 +1 @@
-3aca6031f02c33cf5c3d1245d1ae1b893b2c968fd647885c68a58820d02861d2
+86a8903ae083e72521127bb3a4058139f85126680ced1d6602dac224b3a6b622
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm.resources b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm.resources
new file mode 100644
index 0000000..780b5c7
--- /dev/null
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm.resources
Binary files differ
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.AssemblyReference.cache b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.AssemblyReference.cache
index 15cebeb..8e66c35 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.AssemblyReference.cache
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.AssemblyReference.cache
Binary files differ
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.CoreCompileInputs.cache b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.CoreCompileInputs.cache
index c3532d4..acfceef 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.CoreCompileInputs.cache
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-d8ebdbfaf4a5314d496a1e59a20cc3460a40af18833e9a895b66eed298926b23
+91692407bf6141721c5c72b9ae75d5357ea412ced8005babd4f9adaa84b654c8
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.FileListAbsolute.txt b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.FileListAbsolute.txt
index 6f43531..9a3ae3f 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.FileListAbsolute.txt
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.FileListAbsolute.txt
@@ -195,3 +195,7 @@
D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\refint\LB_VisionProcesses.dll
D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\LB_VisionProcesses.pdb
D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\ref\LB_VisionProcesses.dll
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_VisionProcesses\bin\Debug\net8.0-windows7.0\EasyIDSDK_Net.dll
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_VisionProcesses\bin\Debug\net8.0-windows7.0\EasyIDSDK_Net.xml
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\LB_VisionProcesses.Alogrithms.Halcon.HImageEnhancementToolEdit.resources
+D:\椤圭洰\杞儙澶栬妫�娴媆SmartVision\LB_VisionProcesses\obj\Debug\net8.0-windows7.0\LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm.resources
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.GenerateResource.cache b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.GenerateResource.cache
index 8908321..a83c350 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.GenerateResource.cache
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.csproj.GenerateResource.cache
Binary files differ
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.designer.deps.json b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.designer.deps.json
index 4eb2687..865b64c 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.designer.deps.json
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.designer.deps.json
@@ -328,42 +328,42 @@
}
}
},
- "OpenCvSharp4.runtime.win/4.11.0.20250507": {
+ "OpenCvSharp4.runtime.win/4.5.5.20211231": {
"runtimeTargets": {
"runtimes/win-x64/native/OpenCvSharpExtern.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
- "runtimes/win-x64/native/opencv_videoio_ffmpeg4110_64.dll": {
+ "runtimes/win-x64/native/opencv_videoio_ffmpeg455_64.dll": {
"rid": "win-x64",
"assetType": "native",
- "fileVersion": "2024.12.0.0"
+ "fileVersion": "2021.12.0.0"
},
"runtimes/win-x86/native/OpenCvSharpExtern.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
- "runtimes/win-x86/native/opencv_videoio_ffmpeg4110.dll": {
+ "runtimes/win-x86/native/opencv_videoio_ffmpeg455.dll": {
"rid": "win-x86",
"assetType": "native",
- "fileVersion": "2024.12.0.0"
+ "fileVersion": "2021.12.0.0"
}
}
},
- "OpenVINO.CSharp.API/2025.4.0": {
+ "OpenVINO.CSharp.API/2025.3.0": {
"runtime": {
"lib/net8.0/OpenVINO_CSharp_API.dll": {
- "assemblyVersion": "2025.4.0.0",
- "fileVersion": "2025.4.0.0"
+ "assemblyVersion": "2025.3.0.0",
+ "fileVersion": "2025.3.0.0"
}
}
},
"OpenVINO.CSharp.API.Extensions/1.0.7": {
"dependencies": {
- "OpenVINO.CSharp.API": "2025.4.0",
- "SharpCompress": "0.40.0"
+ "OpenVINO.CSharp.API": "2025.3.0",
+ "SharpCompress": "0.47.3"
},
"runtime": {
"lib/net8.0/OpenVINO_CSharp_API_Extensions.dll": {
@@ -376,112 +376,13 @@
"dependencies": {
"OpenCvSharp4": "4.11.0.20250507",
"OpenCvSharp4.Extensions": "4.11.0.20250507",
- "OpenVINO.CSharp.API": "2025.4.0",
+ "OpenVINO.CSharp.API": "2025.3.0",
"OpenVINO.CSharp.API.Extensions": "1.0.7"
},
"runtime": {
"lib/net8.0/OpenVINO_CSharp_API_Extensions_OpenCvSharp.dll": {
"assemblyVersion": "1.0.7.0",
"fileVersion": "1.0.7.0"
- }
- }
- },
- "OpenVINO.runtime.win/2025.4.0": {
- "runtimeTargets": {
- "runtimes/win-x64/native/cache.json": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "0.0.0.0"
- },
- "runtimes/win-x64/native/openvino.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_auto_batch_plugin.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_auto_plugin.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_c.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_hetero_plugin.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_intel_cpu_plugin.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_intel_gpu_plugin.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_intel_npu_plugin.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_ir_frontend.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_onnx_frontend.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_paddle_frontend.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_pytorch_frontend.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_tensorflow_frontend.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/openvino_tensorflow_lite_frontend.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2025.4.0.20398"
- },
- "runtimes/win-x64/native/tbb12.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2021.2.6.0"
- },
- "runtimes/win-x64/native/tbbbind_2_5.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2021.2.6.0"
- },
- "runtimes/win-x64/native/tbbmalloc.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2021.2.6.0"
- },
- "runtimes/win-x64/native/tbbmalloc_proxy.dll": {
- "rid": "win-x64",
- "assetType": "native",
- "fileVersion": "2021.2.6.0"
}
}
},
@@ -887,21 +788,18 @@
}
}
},
- "SharpCompress/0.40.0": {
- "dependencies": {
- "ZstdSharp.Port": "0.8.5"
- },
+ "SharpCompress/0.47.3": {
"runtime": {
"lib/net8.0/SharpCompress.dll": {
- "assemblyVersion": "0.40.0.0",
- "fileVersion": "0.40.0.0"
+ "assemblyVersion": "0.47.3.0",
+ "fileVersion": "0.47.3.0"
}
}
},
"SmartMore.ViMo.Inference/3.19.1.2": {
"dependencies": {
"OpenCvSharp4": "4.11.0.20250507",
- "OpenCvSharp4.runtime.win": "4.11.0.20250507"
+ "OpenCvSharp4.runtime.win": "4.5.5.20211231"
},
"runtime": {
"lib/netstandard2.0/SmartMore.ViMo.Inference.dll": {
@@ -1730,14 +1628,6 @@
}
}
},
- "ZstdSharp.Port/0.8.5": {
- "runtime": {
- "lib/net8.0/ZstdSharp.dll": {
- "assemblyVersion": "0.8.5.0",
- "fileVersion": "0.8.5.0"
- }
- }
- },
"ZXing.Net/0.16.11": {
"runtime": {
"lib/net8.0/zxing.dll": {
@@ -1901,19 +1791,19 @@
"path": "opencvsharp4.extensions/4.11.0.20250507",
"hashPath": "opencvsharp4.extensions.4.11.0.20250507.nupkg.sha512"
},
- "OpenCvSharp4.runtime.win/4.11.0.20250507": {
+ "OpenCvSharp4.runtime.win/4.5.5.20211231": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-3PxMXyzR+pkL9UOx2PiBjZm+/iyCIu5D6OlA1sq9MH7oWrfvVnCXJlUYhIJv67F7SLUwUuGwXDIQBfdsL/54lg==",
- "path": "opencvsharp4.runtime.win/4.11.0.20250507",
- "hashPath": "opencvsharp4.runtime.win.4.11.0.20250507.nupkg.sha512"
+ "sha512": "sha512-hywJLVuHQTHxroPTYWPhj59VIpoPTGoKJYyvHWWs0hnqPLPemnPCWZLJtdehdpf00U6l1QgvARJMFqc3RtSXGQ==",
+ "path": "opencvsharp4.runtime.win/4.5.5.20211231",
+ "hashPath": "opencvsharp4.runtime.win.4.5.5.20211231.nupkg.sha512"
},
- "OpenVINO.CSharp.API/2025.4.0": {
+ "OpenVINO.CSharp.API/2025.3.0": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-DQlkLc1Ypcuw7BELRwRMaFMu2owZjUCdJxRYLKIxqcD86E9/ypRzC5vZIq/25g2a874m/yi+CE4tjw/c8RDpgQ==",
- "path": "openvino.csharp.api/2025.4.0",
- "hashPath": "openvino.csharp.api.2025.4.0.nupkg.sha512"
+ "sha512": "sha512-LzEz2CYrHpIQ8TExmA3vq5luuc6aqqUBgSmLMFZ08R/lMsBVcmRG1jgjj6n7prficFZhOEPqk7JGp2O39ZhWqw==",
+ "path": "openvino.csharp.api/2025.3.0",
+ "hashPath": "openvino.csharp.api.2025.3.0.nupkg.sha512"
},
"OpenVINO.CSharp.API.Extensions/1.0.7": {
"type": "package",
@@ -1928,13 +1818,6 @@
"sha512": "sha512-OsooAor56s0aA49FqVhxr8KGUkUUSrvHs28dFFpGe7nTeIKz3aEF06YCG8buk80IskiNyXu/uWaVV/+uKGvE8Q==",
"path": "openvino.csharp.api.extensions.opencvsharp/1.0.7",
"hashPath": "openvino.csharp.api.extensions.opencvsharp.1.0.7.nupkg.sha512"
- },
- "OpenVINO.runtime.win/2025.4.0": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-otr7T+jUrFmX1NCtdea0OcnWuFMRZ6zf3RQ9bkjwxf5xi0jgHYxsvHW/8SdzgxA7KY7d+BrvqUYHL+vkwWsYgA==",
- "path": "openvino.runtime.win/2025.4.0",
- "hashPath": "openvino.runtime.win.2025.4.0.nupkg.sha512"
},
"ReaLTaiizor/3.8.1.5": {
"type": "package",
@@ -2195,12 +2078,12 @@
"path": "sdcb.paddleocr.models.shared/2.7.0.1",
"hashPath": "sdcb.paddleocr.models.shared.2.7.0.1.nupkg.sha512"
},
- "SharpCompress/0.40.0": {
+ "SharpCompress/0.47.3": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-yP/aFX1jqGikVF7u2f05VEaWN4aCaKNLxSas82UgA2GGVECxq/BcqZx3STHCJ78qilo1azEOk1XpBglIuGMb7w==",
- "path": "sharpcompress/0.40.0",
- "hashPath": "sharpcompress.0.40.0.nupkg.sha512"
+ "sha512": "sha512-KPODbBWz4zRs413KAHgy7N43bXCsAJyrCJMTajRan3Gl4epukJQKQxZeK1FVq/VvRZ4Y1MLz4Jc5UYSokwEojQ==",
+ "path": "sharpcompress/0.47.3",
+ "hashPath": "sharpcompress.0.47.3.nupkg.sha512"
},
"SmartMore.ViMo.Inference/3.19.1.2": {
"type": "package",
@@ -2495,13 +2378,6 @@
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
- },
- "ZstdSharp.Port/0.8.5": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-TR4j17WeVSEb3ncgL2NqlXEqcy04I+Kk9CaebNDplUeL8XOgjkZ7fP4Wg4grBdPLIqsV86p2QaXTkZoRMVOsew==",
- "path": "zstdsharp.port/0.8.5",
- "hashPath": "zstdsharp.port.0.8.5.nupkg.sha512"
},
"ZXing.Net/0.16.11": {
"type": "package",
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.dll b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.dll
index e348a43..c2e79b0 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.dll
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.dll
Binary files differ
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb
index 0e8737f..0dad076 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/LB_VisionProcesses.pdb
Binary files differ
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/ref/LB_VisionProcesses.dll b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/ref/LB_VisionProcesses.dll
index c42929c..63d1811 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/ref/LB_VisionProcesses.dll
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/ref/LB_VisionProcesses.dll
Binary files differ
diff --git a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/refint/LB_VisionProcesses.dll b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/refint/LB_VisionProcesses.dll
index c42929c..63d1811 100644
--- a/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/refint/LB_VisionProcesses.dll
+++ b/LB_VisionProcesses/obj/Debug/net8.0-windows7.0/refint/LB_VisionProcesses.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..111bc92
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..92bcbeb
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/CLSerCOM.dll b/LB_VisionProcesses/ref/CLSerCOM.dll
new file mode 100644
index 0000000..da3c16a
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLSerCOM.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/EasyID.dll b/LB_VisionProcesses/ref/EasyID.dll
new file mode 100644
index 0000000..1d4f1b3
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyID.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/EasyIDSDK_Net.XML b/LB_VisionProcesses/ref/EasyIDSDK_Net.XML
new file mode 100644
index 0000000..38d7685
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyIDSDK_Net.XML
@@ -0,0 +1,1812 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>EasyIDSDK_Net</name>
+ </assembly>
+ <members>
+ <member name="T:EasyIDSDK_Net.EidCamera">
+ <summary>
+ <para><ch>EidCamera</ch></para>
+ <para><en>EidCamera</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOK">
+ <summary>
+ <para><ch>鎴愬姛</ch></para>
+ <para><en>OK</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorUnknown">
+ <summary>
+ <para><ch>鏈煡閿欒</ch></para>
+ <para><en>Unknown error</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInternalError">
+ <summary>
+ <para><ch>鍐呴儴閿欒</ch></para>
+ <para><en>Internal error</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidParameter">
+ <summary>
+ <para><ch>鏃犳晥鍙傛暟</ch></para>
+ <para><en>Invalid parameter</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotConnected">
+ <summary>
+ <para><ch>鐩告満鏈繛鎺�</ch></para>
+ <para><en>Camera not connected</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotFound">
+ <summary>
+ <para><ch>鏈壘鍒�</ch></para>
+ <para><en>Not found</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorTimeout">
+ <summary>
+ <para><ch>瓒呮椂</ch></para>
+ <para><en>Timeout</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotImplemented">
+ <summary>
+ <para><ch>鏈疄鐜�</ch></para>
+ <para><en>Not implemented</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorRepeatOperation">
+ <summary>
+ <para><ch>閲嶅鎿嶄綔</ch></para>
+ <para><en>Repeat operation</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNullPtr">
+ <summary>
+ <para><ch>绌烘寚閽�</ch></para>
+ <para><en>Null pointer</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorReadDataFail">
+ <summary>
+ <para><ch>璇诲彇鏁版嵁澶辫触</ch></para>
+ <para><en>Failed to read data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteDataFail">
+ <summary>
+ <para><ch>鍐欏叆鏁版嵁澶辫触</ch></para>
+ <para><en>Failed to write data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDataCheckFail">
+ <summary>
+ <para><ch>鏁版嵁鏍¢獙澶辫触</ch></para>
+ <para><en>Data verification failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageSizeError">
+ <summary>
+ <para><ch>鍥惧儚澶у皬閿欒</ch></para>
+ <para><en>Wrong image size</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageTypeError">
+ <summary>
+ <para><ch>鍥惧儚绫诲瀷閿欒</ch></para>
+ <para><en>Wrong image type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageDataTypeError">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁绫诲瀷閿欒</ch></para>
+ <para><en>Wrong image data type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorSerializeFail">
+ <summary>
+ <para><ch>搴忓垪鍖栧け璐�</ch></para>
+ <para><en>Serialization failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDeserializeFail">
+ <summary>
+ <para><ch>鍙嶅簭鍒楀寲澶辫触</ch></para>
+ <para><en>Deserialization failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOpenFileFail">
+ <summary>
+ <para><ch>鎵撳紑鏂囦欢澶辫触</ch></para>
+ <para><en>Failed to open file</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteFileFail">
+ <summary>
+ <para><ch>鏂囦欢鍐欏叆澶辫触</ch></para>
+ <para><en>File writing failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidHandle">
+ <summary>
+ <para><ch>鏃犳晥鍙ユ焺</ch></para>
+ <para><en>Invalid handle</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInsufficientBuffer">
+ <summary>
+ <para><ch>缂撳啿鍖鸿繃灏�</ch></para>
+ <para><en>Insufficient buffers</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.#ctor">
+ <summary>
+ <para><ch>鏋勯�犲嚱鏁�</ch></para>
+ <para><en>Constructor</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetVersion_Net">
+ <summary>
+ <para><ch>鑾峰彇鐗堟湰淇℃伅</ch></para>
+ <para><en>Get version information</en></para>
+ </summary>
+ <returns><para><ch>鐗堟湰淇℃伅</ch></para><para><en>Version infomation</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidEnumDevices_Net(EasyIDSDK_Net.EidCamera.EidDeviceList@,System.UInt32)">
+ <summary>
+ <para><ch>鏍规嵁鎺ュ彛绫诲瀷鏋氫妇鐩告満, 鍚屾椂杈撳嚭鎵�鏈夌浉鏈轰俊鎭埌 deviceList</ch></para>
+ <para><en>Enumerate devices according to the interface type, and outputting all devices information to the deviceList</en></para>
+ </summary>
+ <param name="deviceList"><para><ch>[out] 璁惧淇℃伅鍒楄〃</ch></para><para><en>[out] Device information list</en></para></param>
+ <param name="type"><para><ch>[in] 鎺ュ彛绫诲瀷, 鍙互鏄涓帴鍙g被鍨嬬殑缁勫悎. 鑻ヤ紶鍏ュ�间负0琛ㄧず鎵�鏈夌被鍨�, 涓� eidInterfaceTypeAll 鍚箟鐩稿悓, 鍏朵綑鍙栧�煎弬鑰� #EidInterfaceType</ch></para>
+ <para><en>[in] Interface type, which can be a combination of multiple interface types.If the value of the parameter is 0, it means all types, which is the same as eidInterfaceTypeAll. other value see #EidInterfaceType</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidCreateDevice_Net(System.String,EasyIDSDK_Net.EidCamera.EidDeviceDataType)">
+ <summary>
+ <para><ch>鏍规嵁璁惧鏁版嵁淇℃伅鍒涘缓鐩稿簲鐨勮澶囧璞�, 濡傚彲浠ラ�氳繃璁惧搴忓垪鍙峰垱寤恒��</ch></para>
+ <para><en>Create a device handle according to the device data, for example, you can create a device object through the serial number.
+ This interface will not enumerate devices and needs to be called after #eidEnumDevices.</en></para>
+ </summary>
+ <param name="data"><para><ch>[in] 璁惧鏁版嵁, 鏁版嵁鍐呭鐨勫惈涔夌敱 type 鍙傛暟鍐冲畾</ch></para><para><en>[in] Device data, the meaning of the data content is determined by the type parameter</en></para></param>
+ <param name="type"><para><ch>[in] 鏁版嵁绫诲瀷, 榛樿鍊兼槸璁惧搴忓垪鍙�</ch></para><para><en>[in] Data type</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ <remarks><para><ch>娉ㄦ剰闇�瑕佽皟鐢� #eidReleaseHandle_Net 閲婃斁璧勬簮銆�</ch></para><para><en>Note that need to call #eidReleaseHandle_Net to release resources.</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseHandle_Net">
+ <summary>
+ <para><ch>閲婃斁鐩告満鍙ユ焺璧勬簮</ch></para>
+ <para><en>Release device handle resources</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetDeviceInfo_Net(EasyIDSDK_Net.EidCamera.EidDeviceInfo@)">
+ <summary>
+ <para><ch>鑾峰彇璁惧淇℃伅</ch></para>
+ <para><en>Get device infomation</en></para>
+ </summary>
+ <param name="info"><para><ch>[out] 璁惧淇℃伅</ch></para><para><en>[out] Pointer to a EidDeviceInfo structure to receive the device information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidOpenDevice_Net">
+ <summary>
+ <para><ch>鎵撳紑璁惧</ch></para>
+ <para><en>Open a device</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidCloseDevice_Net">
+ <summary>
+ <para><ch>鍏抽棴璁惧</ch></para>
+ <para><en>Close a device</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsDeviceOpen_Net">
+ <summary>
+ <para><ch>璁惧鏄惁宸茬粡鎵撳紑</ch></para>
+ <para><en>Gets a value indicating whether the media source is currently open. .</en></para>
+ </summary>
+ <returns><para><ch>濡傛灉璁惧澶勪簬鎵撳紑鐘舵�侊紝杩斿洖 true锛屽惁鍒欙紝false</ch></para><para><en>True if the device is open; otherwise, false</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidForceIpAddress_Net(System.String,System.String,System.String)">
+ <summary>
+ <para><ch>淇敼鐩告満IP. 璇ユ帴鍙e彧閽堝閫氳繃缃戝崱鎺ュ叆鐨勮澶囷紝瀵逛簬鍏朵綑璁惧锛岃皟鐢ㄦ鎺ュ彛鏃犳剰涔�</ch></para>
+ <para><en>Modify the device IP. This interface is only for devices connected through a network card.
+ For other devices, it is meaningless to call this interface.</en></para>
+ </summary>
+ <param name="ipAddr"><para><ch>[in] 璁惧IP鍦板潃</ch></para><para><en>[in] New IP address</en></para></param>
+ <param name="subnetMask"><para><ch>[in] 瀛愮綉鎺╃爜</ch></para><para><en>[in] New subnet mask</en></para></param>
+ <param name="gateway"><para><ch>[in] 榛樿缃戝叧</ch></para><para><en>[in] New default gateway</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidDownloadGenICamXML_Net(System.String)">
+ <summary>
+ <para><ch>涓嬭浇璁惧鎻忚堪XML鏂囦欢锛屽苟淇濆瓨鍒版寚瀹氳矾寰�</ch></para>
+ <para><en>Download device description XML file, and save the file to specified path</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSaveDeviceConfig_Net(System.String)">
+ <summary>
+ <para><ch>淇濆瓨璁惧閰嶇疆鍒版寚瀹氱殑璺緞</ch></para>
+ <para><en>Save the configuration of the device to specified path</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidLoadDeviceConfig_Net(System.String,EasyIDSDK_Net.EidCamera.EidErrorList@)">
+ <summary>
+ <para><ch>浠庢枃浠跺姞杞借澶囬厤缃�</ch></para>
+ <para><en>Load the device configuration from a file</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 閰嶇疆鏂囦欢璺緞</ch></para><para><en>[in] Configuration file path</en></para></param>
+ <param name="errorList"><para><ch>[out] 閿欒鍒楄〃鎸囬拡, 鍐欏叆澶辫触鐨勮澶囧睘鎬у悕绉板皢閫氳繃璇ュ弬鏁拌繑鍥�</ch></para><para><en>[out] Pointor to error list. The device feature names that failed to write will be returned with this parameter</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFeatureType_Net(System.String)">
+ <summary>
+ <para><ch>鑾峰彇璁惧灞炴�х被鍨�</ch></para>
+ <para><en>Get device feature type</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>璁惧灞炴�х被鍨�, 瑙� #EidFeatureType</ch></para><para><en>Device feature type, see enum #EidFeatureType</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureValid_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚︽湁鏁�</ch></para>
+ <para><en>Is the device feature valid</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureAvailable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲鐢�</ch></para>
+ <para><en>Is the device feature available</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙敤,false 涓嶅彲鐢�</ch></para><para><en>true Available,false Not available</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureReadable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲璇�</ch></para>
+ <para><en>Is the device feature readable</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙,false 涓嶅彲璇�</ch></para><para><en>true Readable,false Not readable</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureWriteable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲鍐�</ch></para>
+ <para><en>Is the device feature writeable</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙啓,false 涓嶅彲鍐�</ch></para><para><en>true Writeable,false Not writeable</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureValue_Net(System.String,System.Int64@)">
+ <summary>
+ <para><ch>鑾峰彇鏁村瀷灞炴�у��</ch></para>
+ <para><en>Get integer feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetIntFeatureValue_Net(System.String,System.Int64)">
+ <summary>
+ <para><ch>璁剧疆鏁村瀷灞炴�у��</ch></para>
+ <para><en>Set integer feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidIntFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇鏁村瀷灞炴�т俊鎭�</ch></para>
+ <para><en>Gets integer feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureValue_Net(System.String,System.Double@)">
+ <summary>
+ <para><ch>鑾峰彇娴偣鍨嬪睘鎬у��</ch></para>
+ <para><en>Get float feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetFloatFeatureValue_Net(System.String,System.Double)">
+ <summary>
+ <para><ch>璁剧疆娴偣鍨嬪睘鎬у��</ch></para>
+ <para><en>Set float feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>Gets float feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetBoolFeatureValue_Net(System.String,System.Boolean@)">
+ <summary>
+ <para><ch>鑾峰彇甯冨皵鍨嬪睘鎬у��</ch></para>
+ <para><en>Get bool feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetBoolFeatureValue_Net(System.String,System.Boolean)">
+ <summary>
+ <para><ch>璁剧疆甯冨皵鍨嬪睘鎬у��</ch></para>
+ <para><en>Set bool feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureValue_Net(System.String,System.Byte@,System.UInt32@)">
+ <summary>
+ <para><ch>鑾峰彇瀛楃涓插瀷灞炴�у��</ch></para>
+ <para><en>Get string feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖�, 鐢ㄦ埛鍒嗛厤鍐呭瓨绌洪棿</ch></para><para><en>[out] Pointer to string feature value buffer that is allocated memory space by the user</en></para></param>
+ <param name="size"><para><ch>[in,out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖洪暱搴�.</ch></para><para><en>[in,out] The length of the string buffer.</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ <remarks><para><ch>褰撳嚱鏁拌繑鍥炴椂, 濡傛灉缂撳啿鍖鸿冻澶熷ぇ, 鎵�鏈夌殑鏁版嵁閮戒細鎷疯礉鍒� value 缂撳啿鍖�, 骞朵笖姝ゅ弬鏁扮殑鍊兼槸瀹為檯瀛楃涓茬殑闀垮害(涓嶅寘鍚玭ull缁撴潫绗�);
+ 濡傛灉缂撳啿鍖轰笉澶熷ぇ, 缂撳啿鍖虹殑鏁版嵁鏄埅鏂悗鐨勫瓧绗︿覆鍐呭, 骞朵笖姝ゅ弬鏁板寘鍚瓧绗︿覆鐨勫疄闄呴暱搴�(涓嶅寘鍚玭ull缁撴潫绗�)</ch></para><para><en>When the function returns, if the buffer is large enough,
+ all data is copied to the value buffer, and the value of this parameter is the length of the actual string (without the null terminator);
+ If the buffer is not large enough, the buffer's data is the truncated string content,
+ and this parameter contains the actual length of the string (without the null terminator)</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetStringFeatureValue_Net(System.String,System.Byte@)">
+ <summary>
+ <para><ch>璁剧疆瀛楃涓插瀷灞炴�у��</ch></para>
+ <para><en>Set string feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidStringFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+ <para><en>Gets string feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureValue_Net(System.String,System.UInt64@)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬у��</ch></para>
+ <para><en>Get enum feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureValue_Net(System.String,System.UInt64)">
+ <summary>
+ <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬у��</ch></para>
+ <para><en>Set enum feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureSymbol_Net(System.String,System.Byte@,System.UInt32)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+ <para><en>Get enum feature symbol</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�х鍙�</ch></para><para><en>[out] Pointer to enum feature symbol buffer</en></para></param>
+ <param name="size"><para><ch>[in] 灞炴�х鍙风紦鍐查暱搴�</ch></para><para><en>[in] The length of symbol buffer</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureSymbol_Net(System.String,System.String)">
+ <summary>
+ <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+ <para><en>Set enum feature symbol</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�х鍙�</ch></para><para><en>[in] Feature symbol</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureEntryList_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList@)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬ф潯鐩垪琛�</ch></para>
+ <para><en>Get enum feature entry list</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="entryList"><para><ch>[out] 鏋氫妇鏉$洰鍒楄〃</ch></para><para><en>[out] Pointer to a EidEnumFeatureEntryList structure to receive the enum entry list</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidExecCommandFeature_Net(System.String)">
+ <summary>
+ <para><ch>鎵ц鍛戒护琛屽睘鎬�</ch></para>
+ <para><en>Execute command feature</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidEnumFeatureChildren_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback,System.IntPtr)">
+ <summary>
+ <para><ch>鏋氫妇瀛愬睘鎬�</ch></para>
+ <para><en>Enum Feature Children</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="fn"><para><ch>[in] 鍥炶皟鍑芥暟, 姣忎釜瀛愬睘鎬ч兘灏嗕細瑙﹀彂涓�娆¤鍑芥暟鐨勮皟鐢�</ch></para><para><en>[in] callback function, each child feature will invoke this method</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] user data for callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidStartGrabbing_Net(System.Int32)">
+ <summary>
+ <para><ch>寮�濮嬪彇娴�</ch></para>
+ <para><en>Start grabbing, then you can get the camera frame through #eidGetFrame</en></para>
+ </summary>
+ <param name="bufferCount"><para><ch>[in] 甯х紦瀛樻暟閲�, 0琛ㄧず浣跨敤榛樿缂撳瓨鏁�, >0浣跨敤璁剧疆鐨勭紦瀛樻暟</ch></para><para><en>[in] The number of frame buffers, 0 means to use the default number of buffers, >0 to use the set number of buffers</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidStopGrabbing_Net">
+ <summary>
+ <para><ch>鍋滄鍙栨祦</ch></para>
+ <para><en>Stop grabbing</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsGrabbing_Net">
+ <summary>
+ <para><ch>鏄惁姝e湪鍙栨祦</ch></para>
+ <para><en>Check whether it is grabbing or not</en></para>
+ </summary>
+ <returns><para><ch>濡傛灉姝e湪鍙栨祦, 杩斿洖true; 鍚﹀垯杩斿洖false</ch></para><para><en>Returns true if it is grabbing; otherwise returns false</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidClearFrameBuffer_Net">
+ <summary>
+ <para><ch>娓呴櫎甯ф暟鎹紦瀛�</ch></para>
+ <para><en>clear frame buffer cache</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrame_Net(System.UInt32)">
+ <summary>
+ <para><ch>鑾峰彇涓�甯у浘鍍�, 鑻ョ浉鏈哄紑鍚簡璇荤爜鍔熻兘, 甯ф暟鎹腑鍚屾椂鎼哄甫鏉$爜淇℃伅.</ch></para>
+ <para><en>Get a frame. If the code reading function is enabled, the frame data also carries the barcode information.</en></para>
+ </summary>
+ <param name="timeout"><para><ch>[in] 瓒呮椂鏃堕棿, 鍗曚綅: 姣. 褰撳�间负-1鏃惰〃绀烘棤闄愮瓑寰�</ch></para><para><en>[in] Timeout, in ms, when the value is -1, it means infinite wait</en></para></param>
+ <returns><para><ch>甯ф暟鎹彞鏌�, 澶辫触杩斿洖 nullptr</ch></para><para><en>Frame handle, failure returns nullptr</en></para></returns>
+ <remarks><para><ch>璇ユ帴鍙e皢瀵艰嚧绾跨▼闃诲, 鐩村埌鏀跺埌鍥惧儚鎴栬�呭埌杈捐秴鏃舵椂闂�. 杩斿洖鐨勫彞鏌勯渶瑕侀�氳繃 #eidReleaseFrame_Net 杩涜閲婃斁</ch></para><para><en>This method will block the thread until the timeout is reached.
+ The returned handle needs to be released through #eidReleaseFrame_Net</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseFrame_Net(System.IntPtr@)">
+ <summary>
+ <para><ch>閲婃斁涓�甯у浘鍍�</ch></para>
+ <para><en>Release a frame</en></para>
+ </summary>
+ <param name="frame"><para><ch>甯ф暟鎹彞鏌�</ch></para><para><en>Frame handle</en></para></param>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFrameValid_Net(System.IntPtr)">
+ <summary>
+ <para><ch>甯у彞鏌勬槸鍚︽湁鏁�</ch></para>
+ <para><en>Is the frame handle valid</en></para>
+ </summary>
+ <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+ <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrameInfo_Net(System.IntPtr,EasyIDSDK_Net.EidCamera.EidFrameInfo@)">
+ <summary>
+ <para><ch>鑾峰彇甯т俊鎭�. 甯т俊鎭噷鍚屾椂鍖呭惈鍥惧儚鏁版嵁鍜屾潯鐮佹暟鎹�</ch></para>
+ <para><en>Get frame information. The frame information contains both image data and barcode data</en></para>
+ </summary>
+ <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+ <param name="info"><para><ch>[out] 甯т俊鎭�</ch></para><para><en>[out] Frame information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFrameCallback_Net(EasyIDSDK_Net.EidCamera.EidFrameCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽甯ф暟鎹洖璋�</ch></para>
+ <para><en>Register frame data callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 甯ф暟鎹洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to frame data callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterConnectionCallback_Net(EasyIDSDK_Net.EidCamera.EidConnectionCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽璁惧杩炴帴淇℃伅鍥炶皟</ch></para>
+ <para><en>Register device connection information callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para><para><en>[in] A pointer to device connection information callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFeatureUpdateCallback_Net(EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽璁惧灞炴�ф洿鏂板洖璋�</ch></para>
+ <para><en>Register device feature update callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to device feature update callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureType">
+ <summary>
+ <para><ch>灞炴�х被鍨�</ch></para>
+ <para><en>Feature type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeUnknown">
+ <summary>
+ <para><ch>鏈畾涔�</ch></para>
+ <para><en>Undefined</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeInt">
+ <summary>
+ <para><ch>鏁村瀷鏁�</ch></para>
+ <para><en>Integer</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeFloat">
+ <summary>
+ <para><ch>娴偣鏁�</ch></para>
+ <para><en>Float</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeEnum">
+ <summary>
+ <para><ch>鏋氫妇</ch></para>
+ <para><en>Enumeration</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeBool">
+ <summary>
+ <para><ch>甯冨皵</ch></para>
+ <para><en>Bool</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeString">
+ <summary>
+ <para><ch>瀛楃涓�</ch></para>
+ <para><en>String</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeCommand">
+ <summary>
+ <para><ch>鍛戒护</ch></para>
+ <para><en>Command</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeGroup">
+ <summary>
+ <para><ch>鍒嗙粍</ch></para>
+ <para><en>Group</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidInterfaceType">
+ <summary>
+ <para><ch>鎺ュ彛绫诲瀷</ch></para>
+ <para><en>Interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUnknown">
+ <summary>
+ <para><ch>鏈煡鎺ュ彛绫诲瀷</ch></para>
+ <para><en>Unknown interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeGige">
+ <summary>
+ <para><ch>缃戝崱鎺ュ彛绫诲瀷</ch></para>
+ <para><en>NIC type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUsb">
+ <summary>
+ <para><ch>USB鎺ュ彛绫诲瀷</ch></para>
+ <para><en>USB interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeAll">
+ <summary>
+ <para><ch>鎵�鏈夋帴鍙g被鍨�</ch></para>
+ <para><en>All interface type</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceType">
+ <summary>
+ <para><ch>璁惧绫诲瀷</ch></para>
+ <para><en>Device type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUnknown">
+ <summary>
+ <para><ch>鏈煡绫诲瀷</ch></para>
+ <para><en>Unknown type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeGige">
+ <summary>
+ <para><ch>GIGE鐩告満</ch></para>
+ <para><en>GigE Camera</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUSB">
+ <summary>
+ <para><ch>USB鐩告満</ch></para>
+ <para><en>USB Camera</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceDataType">
+ <summary>
+ <para><ch>璁惧鏁版嵁绫诲瀷, 鐢ㄤ簬 #eidCreateDevice 鍑芥暟</ch></para>
+ <para><en>Device data type, used in the #eidCreateDevice function</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeID">
+ <summary>
+ <para><ch>璁惧ID</ch></para>
+ <para><en>Device ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeSN">
+ <summary>
+ <para><ch>搴忓垪鍙�</ch></para>
+ <para><en>Serial number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeIP">
+ <summary>
+ <para><ch>IP鍦板潃</ch></para>
+ <para><en>IP address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeMAC">
+ <summary>
+ <para><ch>MAC鍦板潃</ch></para>
+ <para><en>MAC address</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidPixelFormat">
+ <summary>
+ <para><ch>鍥惧儚鍍忕礌鏍煎紡</ch></para>
+ <para><en>Image pixel format</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelUnknwon">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono1p">
+ <summary>
+ <para><ch>Mono1p</ch></para>
+ <para><en>Mono1p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono2p">
+ <summary>
+ <para><ch>Mono2p</ch></para>
+ <para><en>Mono2p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono4p">
+ <summary>
+ <para><ch>Mono4p</ch></para>
+ <para><en>Mono4p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8">
+ <summary>
+ <para><ch>Mono8</ch></para>
+ <para><en>Mono8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8S">
+ <summary>
+ <para><ch>Mono8S</ch></para>
+ <para><en>Mono8S</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10">
+ <summary>
+ <para><ch>Mono10</ch></para>
+ <para><en>Mono10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10Packed">
+ <summary>
+ <para><ch>Mono10Packed</ch></para>
+ <para><en>Mono10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12">
+ <summary>
+ <para><ch>Mono12</ch></para>
+ <para><en>Mono12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12Packed">
+ <summary>
+ <para><ch>Mono12Packed</ch></para>
+ <para><en>Mono12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono14">
+ <summary>
+ <para><ch>Mono14</ch></para>
+ <para><en>Mono14</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono16">
+ <summary>
+ <para><ch>Mono16</ch></para>
+ <para><en>Mono16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR8">
+ <summary>
+ <para><ch>BayGR8</ch></para>
+ <para><en>BayGR8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG8">
+ <summary>
+ <para><ch>BayRG8</ch></para>
+ <para><en>BayRG8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB8">
+ <summary>
+ <para><ch>BayGB8</ch></para>
+ <para><en>BayGB8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG8">
+ <summary>
+ <para><ch>BayBG8</ch></para>
+ <para><en>BayBG8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10">
+ <summary>
+ <para><ch>BayGR10</ch></para>
+ <para><en>BayGR10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10">
+ <summary>
+ <para><ch>BayRG10</ch></para>
+ <para><en>BayRG10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10">
+ <summary>
+ <para><ch>BayGB10</ch></para>
+ <para><en>BayGB10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10">
+ <summary>
+ <para><ch>BayBG10</ch></para>
+ <para><en>BayBG10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12">
+ <summary>
+ <para><ch>BayGR12</ch></para>
+ <para><en>BayGR12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12">
+ <summary>
+ <para><ch>BayRG12</ch></para>
+ <para><en>BayRG12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12">
+ <summary>
+ <para><ch>BayGB12</ch></para>
+ <para><en>BayGB12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12">
+ <summary>
+ <para><ch>BayBG12</ch></para>
+ <para><en>BayBG12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10Packed">
+ <summary>
+ <para><ch>BayGR10Packed</ch></para>
+ <para><en>BayGR10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10Packed">
+ <summary>
+ <para><ch>BayRG10Packed</ch></para>
+ <para><en>BayRG10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10Packed">
+ <summary>
+ <para><ch>BayGB10Packed</ch></para>
+ <para><en>BayGB10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10Packed">
+ <summary>
+ <para><ch>BayBG10Packed</ch></para>
+ <para><en>BayBG10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12Packed">
+ <summary>
+ <para><ch>BayGR12Packed</ch></para>
+ <para><en>BayGR12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12Packed">
+ <summary>
+ <para><ch>BayRG12Packed</ch></para>
+ <para><en>BayRG12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12Packed">
+ <summary>
+ <para><ch>BayGB12Packed</ch></para>
+ <para><en>BayGB12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12Packed">
+ <summary>
+ <para><ch>BayBG12Packed</ch></para>
+ <para><en>BayBG12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR16">
+ <summary>
+ <para><ch>BayGR16</ch></para>
+ <para><en>BayGR16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG16">
+ <summary>
+ <para><ch>BayRG16</ch></para>
+ <para><en>BayRG16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB16">
+ <summary>
+ <para><ch>BayGB16</ch></para>
+ <para><en>BayGB16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG16">
+ <summary>
+ <para><ch>BayBG16</ch></para>
+ <para><en>BayBG16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8">
+ <summary>
+ <para><ch>RGB8</ch></para>
+ <para><en>RGB8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR8">
+ <summary>
+ <para><ch>BGR8</ch></para>
+ <para><en>BGR8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGBA8">
+ <summary>
+ <para><ch>RGBA8</ch></para>
+ <para><en>RGBA8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGRA8">
+ <summary>
+ <para><ch>BGRA8</ch></para>
+ <para><en>BGRA8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10">
+ <summary>
+ <para><ch>RGB10</ch></para>
+ <para><en>RGB10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR10">
+ <summary>
+ <para><ch>BGR10</ch></para>
+ <para><en>BGR10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12">
+ <summary>
+ <para><ch>RGB12</ch></para>
+ <para><en>RGB12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR12">
+ <summary>
+ <para><ch>BGR12</ch></para>
+ <para><en>BGR12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16">
+ <summary>
+ <para><ch>RGB16</ch></para>
+ <para><en>RGB16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10V1Packed">
+ <summary>
+ <para><ch>RGB10V1Packed</ch></para>
+ <para><en>RGB10V1Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10P32">
+ <summary>
+ <para><ch>RGB10P32</ch></para>
+ <para><en>RGB10P32</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12V1Packed">
+ <summary>
+ <para><ch>RGB12V1Packed</ch></para>
+ <para><en>RGB12V1Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB565P">
+ <summary>
+ <para><ch>RGB565P</ch></para>
+ <para><en>RGB565P</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR565P">
+ <summary>
+ <para><ch>BGR565P</ch></para>
+ <para><en>BGR565P</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV411_8_UYYVYY">
+ <summary>
+ <para><ch>YUV411_8_UYYVYY</ch></para>
+ <para><en>YUV411_8_UYYVYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8_UYVY">
+ <summary>
+ <para><ch>YUV422_8_UYVY</ch></para>
+ <para><en>YUV422_8_UYVY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8">
+ <summary>
+ <para><ch>YUV422_8 </ch></para>
+ <para><en>YUV422_8 </en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV8_UYV">
+ <summary>
+ <para><ch>YUV8_UYV</ch></para>
+ <para><en>YUV8_UYV</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr8CbYCr">
+ <summary>
+ <para><ch>YCbCr8CbYCr</ch></para>
+ <para><en>YCbCr8CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8">
+ <summary>
+ <para><ch>YCbCr422_8</ch></para>
+ <para><en>YCbCr422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr422_8_CbYCrY</ch></para>
+ <para><en>YCbCr422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_8_CbYCr">
+ <summary>
+ <para><ch>YCbCr601_8_CbYCr</ch></para>
+ <para><en>YCbCr601_8_CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8">
+ <summary>
+ <para><ch>YCbCr601_422_8</ch></para>
+ <para><en>YCbCr601_422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr601_422_8_CbYCrY</ch></para>
+ <para><en>YCbCr601_422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr601_411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr601_411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_8_CbYCr">
+ <summary>
+ <para><ch>YCbCr709_8_CbYCr</ch></para>
+ <para><en>YCbCr709_8_CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8">
+ <summary>
+ <para><ch>YCbCr709_422_8</ch></para>
+ <para><en>YCbCr709_422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr709_422_8_CbYCrY</ch></para>
+ <para><en>YCbCr709_422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr709_411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr709_411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8Planar">
+ <summary>
+ <para><ch>RGB8Planar</ch></para>
+ <para><en>RGB8Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10Planar">
+ <summary>
+ <para><ch>RGB10Planar</ch></para>
+ <para><en>RGB10Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12Planar">
+ <summary>
+ <para><ch>RGB12Planar</ch></para>
+ <para><en>RGB12Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16Planar">
+ <summary>
+ <para><ch>RGB16Planar</ch></para>
+ <para><en>RGB16Planar</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidReadState">
+ <summary>
+ <para><ch>璇荤爜鐘舵��</ch></para>
+ <para><en>Code reading state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateUnknown">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNA">
+ <summary>
+ <para><ch>鏃犳晥</ch></para>
+ <para><en>Not available</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateComplete">
+ <summary>
+ <para><ch>鍏ㄩ儴</ch></para>
+ <para><en>Complete</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNoRead">
+ <summary>
+ <para><ch>鏃犳潯鐮�</ch></para>
+ <para><en>No code was read</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePartial">
+ <summary>
+ <para><ch>閮ㄥ垎</ch></para>
+ <para><en>Partial</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateFail">
+ <summary>
+ <para><ch>澶辫触</ch></para>
+ <para><en>Fail</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNA">
+ <summary>
+ <para><ch>鏃犳晥(Phase妯″紡)</ch></para>
+ <para><en>Not available(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseComplete">
+ <summary>
+ <para><ch>鍏ㄩ儴(Phase妯″紡)</ch></para>
+ <para><en>Complete(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNoRead">
+ <summary>
+ <para><ch>鏃犳潯鐮�(Phase妯″紡)</ch></para>
+ <para><en>No code was read(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhasePartial">
+ <summary>
+ <para><ch>閮ㄥ垎(Phase妯″紡)</ch></para>
+ <para><en>Partial(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseFail">
+ <summary>
+ <para><ch>澶辫触(Phase妯″紡)</ch></para>
+ <para><en>Fail(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidBarcodeType">
+ <summary>
+ <para><ch>鐮佺被鍨�</ch></para>
+ <para><en>Barcode type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUnknown">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN8">
+ <summary>
+ <para><ch>EAN8</ch></para>
+ <para><en>EAN8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN13">
+ <summary>
+ <para><ch>EAN13</ch></para>
+ <para><en>EAN13 type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode39">
+ <summary>
+ <para><ch>Code39</ch></para>
+ <para><en>Code39</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode93">
+ <summary>
+ <para><ch>Code93</ch></para>
+ <para><en>Code93</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode128">
+ <summary>
+ <para><ch>Code128</ch></para>
+ <para><en>Code128</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCA">
+ <summary>
+ <para><ch>UPCA</ch></para>
+ <para><en>UPCA</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCE">
+ <summary>
+ <para><ch>UPCE</ch></para>
+ <para><en>UPCE</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeITF25">
+ <summary>
+ <para><ch>ITF25</ch></para>
+ <para><en>ITF25</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODABAR">
+ <summary>
+ <para><ch>CODABAR</ch></para>
+ <para><en>CODABAR</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128A">
+ <summary>
+ <para><ch>CODE128A</ch></para>
+ <para><en>CODE128A</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128B">
+ <summary>
+ <para><ch>CODE128B</ch></para>
+ <para><en>CODE128B</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128C">
+ <summary>
+ <para><ch>CODE128C</ch></para>
+ <para><en>CODE128C</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeQR">
+ <summary>
+ <para><ch>QR</ch></para>
+ <para><en>QR</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeDM">
+ <summary>
+ <para><ch>DM</ch></para>
+ <para><en>DM</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypePDF417">
+ <summary>
+ <para><ch>PDF417</ch></para>
+ <para><en>PDF417</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeVERICODE">
+ <summary>
+ <para><ch>VERICODE</ch></para>
+ <para><en>VERICODE</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionState">
+ <summary>
+ <para><ch>杩炴帴浜嬩欢绫诲瀷</ch></para>
+ <para><en>Connect event type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOffline">
+ <summary>
+ <para><ch>绂荤嚎</ch></para>
+ <para><en>Offline</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOnline">
+ <summary>
+ <para><ch>鍦ㄧ嚎</ch></para>
+ <para><en>Online</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo">
+ <summary>
+ <para><ch>GigE璁惧淇℃伅</ch></para>
+ <para><en>GigE device info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.macAddress">
+ <summary>
+ <para><ch>璁惧Mac鍦板潃</ch></para>
+ <para><en>Device MAC Address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.ipAddress">
+ <summary>
+ <para><ch>璁惧Ip鍦板潃</ch></para>
+ <para><en>Device ip Address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.subnetMask">
+ <summary>
+ <para><ch>瀛愮綉鎺╃爜</ch></para>
+ <para><en>SubnetMask</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.defaultGateWay">
+ <summary>
+ <para><ch>榛樿缃戝叧</ch></para>
+ <para><en>Default GateWay</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.isIpValid">
+ <summary>
+ <para><ch>Ip鏄惁鏈夋晥</ch></para>
+ <para><en>Ip valid</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.chReserved">
+ <summary>
+ <para><ch>淇濈暀</ch></para>
+ <para><en>Reserved field</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo">
+ <summary>
+ <para><ch>璁惧淇℃伅</ch></para>
+ <para><en>Device info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceType">
+ <summary>
+ <para><ch>璁惧绫诲埆</ch></para>
+ <para><en>Device type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceType">
+ <summary>
+ <para><ch>鎺ュ彛绫诲埆</ch></para>
+ <para><en>Interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceID">
+ <summary>
+ <para><ch>璁惧ID</ch></para>
+ <para><en>Device ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.cameraName">
+ <summary>
+ <para><ch>鐢ㄦ埛鑷畾涔夊悕</ch></para>
+ <para><en>User defined name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.serialNumber">
+ <summary>
+ <para><ch>璁惧搴忓垪鍙�</ch></para>
+ <para><en>Device serial number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.vendorName">
+ <summary>
+ <para><ch>鍘傚晢</ch></para>
+ <para><en>Device vendor</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.modelName">
+ <summary>
+ <para><ch>璁惧鍨嬪彿</ch></para>
+ <para><en>Device model</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.manufactureInfo">
+ <summary>
+ <para><ch>璁惧鍒堕�犱俊鎭�</ch></para>
+ <para><en>Device manufacture</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceVersion">
+ <summary>
+ <para><ch>璁惧鐗堟湰</ch></para>
+ <para><en>Device version</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceName">
+ <summary>
+ <para><ch>鎺ュ彛鍚�</ch></para>
+ <para><en>Interface name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reseved</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.stSpecialInfo">
+ <summary>
+ <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+ <para><en>special device Info</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO">
+ <summary>
+ <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+ <para><en>special device Info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO.gigeDeviceInfo">
+ <summary>
+ <para><ch>Gige璁惧淇℃伅</ch></para>
+ <para><en>Gige device info</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceList">
+ <summary>
+ <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+ <para><en>Device information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.num">
+ <summary>
+ <para><ch>璁惧鏁伴噺</ch></para>
+ <para><en>Device Number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.infos">
+ <summary>
+ <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+ <para><en>Device information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidErrorList">
+ <summary>
+ <para><ch>閿欒鍒楄〃</ch></para>
+ <para><en>Error list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.num">
+ <summary>
+ <para><ch>澶辫触鐨勫睘鎬ф暟閲�</ch></para>
+ <para><en>Number of failed features</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.names">
+ <summary>
+ <para><ch>澶辫触灞炴�у悕鍒楄〃</ch></para>
+ <para><en>Error feature name list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo">
+ <summary>
+ <para><ch>鏁村瀷灞炴�т俊鎭�</ch></para>
+ <para><en>int feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.current">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.min">
+ <summary>
+ <para><ch>鏈�灏忓��</ch></para>
+ <para><en>Minimum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.max">
+ <summary>
+ <para><ch>鏈�澶у��</ch></para>
+ <para><en>Maximum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.inc">
+ <summary>
+ <para><ch>澧為噺</ch></para>
+ <para><en>Increment</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo">
+ <summary>
+ <para><ch>娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>float feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.current">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.min">
+ <summary>
+ <para><ch>鏈�灏忓��</ch></para>
+ <para><en>Minimum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.max">
+ <summary>
+ <para><ch>鏈�澶у��</ch></para>
+ <para><en>Maximum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.unit">
+ <summary>
+ <para><ch>鍗曚綅</ch></para>
+ <para><en>Unit</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo">
+ <summary>
+ <para><ch>瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+ <para><en>String feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.maxLen">
+ <summary>
+ <para><ch>鏈�澶ч暱搴�</ch></para>
+ <para><en>The maximum length of the String</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.value">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry">
+ <summary>
+ <para><ch>鏋氫妇鍨嬪睘鎬ф潯鐩�</ch></para>
+ <para><en>enum feature entry</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.value">
+ <summary>
+ <para><ch>鍊�</ch></para>
+ <para><en>Value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.name">
+ <summary>
+ <para><ch>鍚嶇О</ch></para>
+ <para><en>Current Name</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList">
+ <summary>
+ <para><ch>鏋氫妇鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>enum feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.num">
+ <summary>
+ <para><ch>鏁伴噺</ch></para>
+ <para><en>count</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.entryList">
+ <summary>
+ <para><ch>鏉$洰鍒楄〃</ch></para>
+ <para><en>Entry list</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidPoint">
+ <summary>
+ <para><ch>浜岀淮鍧愭爣鐐�</ch></para>
+ <para><en>2D coordinate point</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.x">
+ <summary>
+ <para><ch>x鍧愭爣</ch></para>
+ <para><en>x-coordinate</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.y">
+ <summary>
+ <para><ch>y鍧愭爣</ch></para>
+ <para><en>y-coordinate</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidCodeInfo">
+ <summary>
+ <para><ch>鏉$爜淇℃伅</ch></para>
+ <para><en>Barcode information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.type">
+ <summary>
+ <para><ch>绫诲瀷</ch></para>
+ <para><en>Code type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.ppm">
+ <summary>
+ <para><ch>PPM</ch></para>
+ <para><en>PPM</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.position">
+ <summary>
+ <para><ch>浣嶇疆, 4涓偣</ch></para>
+ <para><en>Position, 4 points</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.data">
+ <summary>
+ <para><ch>鍐呭</ch></para>
+ <para><en>Code content</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.typeName">
+ <summary>
+ <para><ch>绫诲瀷鍚嶇О</ch></para>
+ <para><en>Code type name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFrameInfo">
+ <summary>
+ <para><ch>甯т俊鎭�</ch></para>
+ <para><en>Frame information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.id">
+ <summary>
+ <para><ch>甯D</ch></para>
+ <para><en>Frame block ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.timestamp">
+ <summary>
+ <para><ch>鏃堕棿鎴�</ch></para>
+ <para><en>Timestamp</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.width">
+ <summary>
+ <para><ch>鍥惧儚瀹藉害</ch></para>
+ <para><en>Image width</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.height">
+ <summary>
+ <para><ch>鍥惧儚楂樺害</ch></para>
+ <para><en>Image height</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.format">
+ <summary>
+ <para><ch>鍍忕礌鏍煎紡</ch></para>
+ <para><en>Pixel format</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.readState">
+ <summary>
+ <para><ch>璇荤爜鐘舵��</ch></para>
+ <para><en>Code reading state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeNum">
+ <summary>
+ <para><ch>鏉$爜鏁伴噺</ch></para>
+ <para><en>Number of barcodes</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageDataLen">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁闀垮害</ch></para>
+ <para><en>Length of image data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageData">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁</ch></para>
+ <para><en>Image data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeList">
+ <summary>
+ <para><ch>鏉$爜淇℃伅鍒�</ch></para>
+ <para><en>Barcode information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.isJpeg">
+ <summary>
+ <para><ch>鏄惁jpeg鍥�</ch></para>
+ <para><en>Is jpeg image</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionInfo">
+ <summary>
+ <para><ch>杩炴帴淇℃伅</ch></para>
+ <para><en>Connetion information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.state">
+ <summary>
+ <para><ch>杩炴帴鐘舵��</ch></para>
+ <para><en>Connetion state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFrameCallback">
+ <summary>
+ <para><ch>甯ф暟鎹洖璋冨嚱鏁�</ch></para>
+ <para><en>Frame data callback function</en></para>
+ </summary>
+ <param name="frameInfo"><para><ch>甯т俊鎭�</ch></para><para><en>frameInfo Frame info</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionCallback">
+ <summary>
+ <para><ch>璁惧杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para>
+ <para><en>Device connection information callback function</en></para>
+ </summary>
+ <param name="frameInfo"><para><ch>杩炴帴淇℃伅</ch></para><para><en>info Connection infomation</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback">
+ <summary>
+ <para><ch>璁惧灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para>
+ <para><en>Device feature update callback function</en></para>
+ </summary>
+ <param name="name"><para><ch>灞炴�у悕绉�</ch></para><para><en>name Device feature name</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback">
+ <summary>
+ <para><ch>鏋氫妇瀛愬睘鎬х殑鍥炶皟鍑芥暟, 鍦� eidEnumFeatureChildren 鍑芥暟涓娇鐢�, 姣忔鎺ユ敹涓�涓瓙灞炴�х殑鍚嶇О</ch></para>
+ <para><en>Callback function used with the eidEnumFeatureChildren function. It receives children feature names</en></para>
+ </summary>
+ <param name="name"><para><ch>瀛愬睘鎬у悕绉�</ch></para><para><en>name child feature name</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ </members>
+</doc>
diff --git a/LB_VisionProcesses/ref/EasyIDSDK_Net.dll b/LB_VisionProcesses/ref/EasyIDSDK_Net.dll
new file mode 100644
index 0000000..689a25d
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyIDSDK_Net.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..fd2d3ba
--- /dev/null
+++ b/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..64acf0f
--- /dev/null
+++ b/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..f08b767
--- /dev/null
+++ b/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/ImageConvert.dll b/LB_VisionProcesses/ref/ImageConvert.dll
new file mode 100644
index 0000000..d25101e
--- /dev/null
+++ b/LB_VisionProcesses/ref/ImageConvert.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/ImageSave.dll b/LB_VisionProcesses/ref/ImageSave.dll
new file mode 100644
index 0000000..02e527e
--- /dev/null
+++ b/LB_VisionProcesses/ref/ImageSave.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..02ba75a
--- /dev/null
+++ b/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/MVlog4cppmd.dll b/LB_VisionProcesses/ref/MVlog4cppmd.dll
new file mode 100644
index 0000000..be42dd1
--- /dev/null
+++ b/LB_VisionProcesses/ref/MVlog4cppmd.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..02d6125
--- /dev/null
+++ b/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..2fc11a6
--- /dev/null
+++ b/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/SDKLOG_default.properties b/LB_VisionProcesses/ref/SDKLOG_default.properties
new file mode 100644
index 0000000..0cd4b8f
--- /dev/null
+++ b/LB_VisionProcesses/ref/SDKLOG_default.properties
@@ -0,0 +1,15 @@
+# =======================
+# root Setting
+# =======================
+log4cpp.rootCategory = INFO
+
+# =======================
+# SDK Log Setting
+# =======================
+log4cpp.category.mvsdk = INFO, a_mvsdk
+log4cpp.appender.a_mvsdk = DailyRollingFileAppender
+log4cpp.appender.a_mvsdk.fileName = MVSDK.log
+log4cpp.appender.a_mvsdk.layout = org.apache.log4cpp.PatternLayout
+log4cpp.appender.a_mvsdk.layout.ConversionPattern = %d{%Y-%m-%d %H:%M:%S.%l} %p [tid:%t]%m%n
+log4cpp.appender.a_mvsdk.maxDaysKeep = 5
+
diff --git a/LB_VisionProcesses/ref/SharpnessDetection64.dll b/LB_VisionProcesses/ref/SharpnessDetection64.dll
new file mode 100644
index 0000000..6d25e6b
--- /dev/null
+++ b/LB_VisionProcesses/ref/SharpnessDetection64.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/VideoRender.dll b/LB_VisionProcesses/ref/VideoRender.dll
new file mode 100644
index 0000000..f51cbf4
--- /dev/null
+++ b/LB_VisionProcesses/ref/VideoRender.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..c106bce
--- /dev/null
+++ b/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/clserVsp.dll b/LB_VisionProcesses/ref/clserVsp.dll
new file mode 100644
index 0000000..2710d24
--- /dev/null
+++ b/LB_VisionProcesses/ref/clserVsp.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/iImageProcessing64.dll b/LB_VisionProcesses/ref/iImageProcessing64.dll
new file mode 100644
index 0000000..3c055bf
--- /dev/null
+++ b/LB_VisionProcesses/ref/iImageProcessing64.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/libwinpthread-1.dll b/LB_VisionProcesses/ref/libwinpthread-1.dll
new file mode 100644
index 0000000..500de9d
--- /dev/null
+++ b/LB_VisionProcesses/ref/libwinpthread-1.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..18e249a
--- /dev/null
+++ b/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll
Binary files differ
--
Gitblit v1.9.3