namespace XP.Camera; /// /// 相机控制器接口,定义与品牌无关的相机操作契约。 /// /// /// 所有公共方法(Open/Close/StartGrabbing/StopGrabbing/ExecuteSoftwareTrigger/参数读写)保证线程安全。 /// 事件回调在非 UI 线程上触发,调用方如需更新 WPF 界面,应通过 Dispatcher 调度。 /// public interface ICameraController : IDisposable { bool IsConnected { get; } bool IsGrabbing { get; } /// 打开相机连接并返回设备信息。 CameraInfo Open(); /// 关闭相机连接并释放资源。 void Close(); /// 以软件触发模式启动图像采集。 void StartGrabbing(); /// 发送一次软件触发信号以采集一帧图像。 void ExecuteSoftwareTrigger(); /// 停止图像采集。 void StopGrabbing(); double GetExposureTime(); void SetExposureTime(double microseconds); double GetGain(); void SetGain(double value); int GetWidth(); void SetWidth(int value); int GetHeight(); void SetHeight(int value); string GetPixelFormat(); void SetPixelFormat(string format); event EventHandler ImageGrabbed; event EventHandler GrabError; event EventHandler ConnectionLost; } /// /// 相机工厂接口,负责根据品牌创建相机控制器实例。 /// public interface ICameraFactory { /// 根据相机品牌创建控制器实例。 ICameraController CreateController(string cameraType); }