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