using System;
|
using System.Collections.Generic;
|
using System.Drawing;
|
|
namespace LB_VisionProcesses.BarcodeReaders
|
{
|
/// <summary>
|
/// 读码器品牌枚举
|
/// </summary>
|
public enum BarcodeReaderBrand
|
{
|
Huayray, // 华睿
|
Unsupported
|
}
|
|
/// <summary>
|
/// 读码结果参数类
|
/// </summary>
|
public class BarcodeEventArgs : EventArgs
|
{
|
/// <summary>
|
/// 设备序列号
|
/// </summary>
|
public string SN { get; set; }
|
|
/// <summary>
|
/// 读码结果内容
|
/// </summary>
|
public List<string> Barcodes { get; set; } = new List<string>();
|
|
/// <summary>
|
/// 关联图像 (可选)
|
/// </summary>
|
public Bitmap Image { get; set; }
|
|
/// <summary>
|
/// 是否读取成功
|
/// </summary>
|
public bool IsSuccess => Barcodes.Count > 0;
|
|
public BarcodeEventArgs(string sn, List<string> barcodes, Bitmap image = null)
|
{
|
SN = sn;
|
Barcodes = barcodes;
|
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>
|
/// 设备是否正在采集
|
/// </summary>
|
bool IsGrabbing { get; }
|
|
/// <summary>
|
/// 设备品牌
|
/// </summary>
|
BarcodeReaderBrand Brand { get; }
|
}
|
}
|