using MwFramework.Device; namespace MainShell.Vision { /// /// 相机采图选项。 /// 该对象仅描述采图动作本身,不负责改变相机触发模式、触发源、抓流状态等硬件工作模式。 /// 相机工作模式应由上层在采图前完成准备。 /// public class CameraCaptureOptions { public static CameraCaptureOptions CreateSoftTrigger(int timeoutMilliseconds = 5000) { CameraCaptureOptions options = new CameraCaptureOptions(); options.CaptureMode = CameraCaptureMode.SoftTrigger; options.TimeoutMilliseconds = timeoutMilliseconds; return options; } public static CameraCaptureOptions CreateStream(int timeoutMilliseconds = 5000) { CameraCaptureOptions options = new CameraCaptureOptions(); options.CaptureMode = CameraCaptureMode.Stream; options.TimeoutMilliseconds = timeoutMilliseconds; return options; } public CameraCaptureOptions() { CaptureMode = CameraCaptureMode.Stream; TimeoutMilliseconds = 5000; AutoStartGrabbing = false; TriggerMode = null; TriggerSource = null; TriggerDelay = null; } /// /// 采集方式。 /// public CameraCaptureMode CaptureMode { get; set; } /// /// 超时时间(毫秒)。 /// public int TimeoutMilliseconds { get; set; } /// /// 兼容旧调用保留字段。采图服务不再根据该值自动开启抓流。 /// public bool AutoStartGrabbing { get; set; } /// /// 兼容旧调用保留字段。采图服务不再根据该值自动设置触发模式。 /// public CameraTriggerMode? TriggerMode { get; set; } /// /// 兼容旧调用保留字段。采图服务不再根据该值自动设置触发源。 /// public CameraTriggerSource? TriggerSource { get; set; } /// /// 兼容旧调用保留字段。采图服务不再根据该值自动设置触发延时。 /// public double? TriggerDelay { get; set; } } }