using System.Drawing; using DispenserHal.Camera.DTO; using DispenserHal.Camera.VO; namespace DispenserHal.Camera.Interface; public interface ICamera { /// /// 连接相机 /// public CameraResponseVO Connect(); /// /// 连接相机带超时时间 /// public CameraResponseVO Connect(long timeout); /// /// 关闭相机 /// public CameraResponseVO Close(); /// /// 注册回调函数 /// /// public CameraResponseVO RegisterCallback(Action callback); /// /// 开启采集(回调方式) /// public CameraResponseVO StartSteaming(); /// /// 获取一帧图像 /// /// CameraResponseVO TokePhoto(); /// /// 开始连续采集 /// /// CameraResponseVO StartCaptureVideo(); /// /// 停止连续采集 /// /// public CameraResponseVO StopCaptureVideo(); /// /// 切换硬触发模式 /// /// public CameraResponseVO SwitchHardTriggerMode(); /// /// 关闭采集 /// public CameraResponseVO StopSteaming(); /// /// 切换连续触发模式 /// /// public CameraResponseVO SwitchContinuousMode(); /// /// 切换软发模式 /// /// public CameraResponseVO SwitchSoftwareTriggerMode(); /// /// 软触发 /// /// public CameraResponseVO SoftwareTrigger(); //写入参数 public CameraResponseVO SetEnumValue(string strKey, uint nvalue); public CameraResponseVO SetIntValue(string strKey, long nvalue); public CameraResponseVO SetBoolValue(string strKey, bool nvalue); public CameraResponseVO SetFloatValue(string strKey, float nvalue); bool GetBoolValue(string key); IntValue GetIntValue(string key); FloatValue? GetFloatValue(string key); EnumValue? GetEnumValue(string key); StringValue? GetStringValue(string key); /// /// 获取枚举值 /// /// /// /// EnumItem GetEnumEntrySymbolic(string key, uint supportIndex); }