using System; using System.Collections.Generic; using System.Drawing; namespace LB_VisionProcesses.BarcodeReaders { /// /// 读码器品牌枚举 /// public enum BarcodeReaderBrand { Huayray, // 华睿 Unsupported } /// /// 读码结果参数类 /// public class BarcodeEventArgs : EventArgs { /// /// 设备序列号 /// public string SN { get; set; } /// /// 读码结果内容 /// public List Barcodes { get; set; } = new List(); /// /// 关联图像 (可选) /// public Bitmap Image { get; set; } /// /// 是否读取成功 /// public bool IsSuccess => Barcodes.Count > 0; public BarcodeEventArgs(string sn, List barcodes, Bitmap image = null) { SN = sn; Barcodes = barcodes; Image = image; } } /// /// 读码器抽象接口 /// public interface IBarcodeReader : IDisposable { /// /// 读码结果回调事件 /// event EventHandler BarcodeRead; /// /// 获取设备列表枚举 /// /// SN列表 List GetDeviceList(); /// /// 初始化并打开读码器 /// /// 序列号 /// 是否成功 bool Open(string sn); /// /// 关闭读码器 /// /// 是否成功 bool Close(); /// /// 开始采集/监听 /// /// 是否成功 bool StartGrabbing(); /// /// 停止采集/监听 /// /// 是否成功 bool StopGrabbing(); /// /// 执行软触发一次 /// /// 是否成功 bool SoftTrigger(); /// /// 设置触发模式 /// /// true为软触发, false为硬触发或自动监听 /// 是否成功 bool SetTriggerMode(bool isSoftware); /// /// 设备是否在线 /// bool IsConnected { get; } /// /// 设备是否正在采集 /// bool IsGrabbing { get; } /// /// 设备品牌 /// BarcodeReaderBrand Brand { get; } } }