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

---
 LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs |  136 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 136 insertions(+), 0 deletions(-)

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; }
+    }
+}

--
Gitblit v1.9.3