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