using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SDKCameraTool { public interface ICamera { /// /// CaemraID /// [CategoryAttribute("CaemraID")] int cameraID { get; } /// /// /// CamereaCompanyType CompanyType { get; } /// /// 相机名称 /// [CategoryAttribute("相机名称")] string cameraName { get; set; } /// /// bmp图像 /// [CategoryAttribute("获取的图像")] Bitmap bmpImage { get; } /// /// 曝光值 /// [CategoryAttribute("相机曝光")] float fExpTime { get; set; } /// /// 触发方式 /// [CategoryAttribute("相机触发模式")] TriggerMode triggerMode { get; set; } /// /// 触发源 /// [CategoryAttribute("相机触发源")] TriggerSouce triggerSource { get; set; } /// /// 相机序列号,相机调用唯一标识 /// [CategoryAttribute("相机序列号")] string sSerialNumber { get; set; } /// /// 增益 /// [CategoryAttribute("相机增益")] float fGain { get; set; } /// /// 伽马 /// [CategoryAttribute("相机伽马值")] float iGamma { get; set; } /// /// 伽马使能 /// [CategoryAttribute("相机伽马使能")] bool bGammaEnable { get; set; } /// /// 感兴趣区域宽度 /// [CategoryAttribute("ROI宽")] int Width { get; set; } /// /// 感兴趣区域高度 /// [CategoryAttribute("ROI高")] int Height { get; set; } /// /// X偏移 /// [CategoryAttribute("X偏移")] int OffsetX { get; set; } /// /// Y偏移 /// [CategoryAttribute("Y偏移")] int OffsetY { get; set; } /// /// 触发拍照延时 /// int TriggerDelay { get; set; } /// /// 是否作为飞拍使用 /// bool isFlowAcq { get; set; } /// /// 该相机触发次数 /// int TriggerCount { get; set; } /// /// 该相机出来的图像是否需要经过标定 /// bool IsNeedCalibration { get; set; } string CxpFilePath { get; set; } /// /// 打开相机 /// /// int OpenCam(CaptureMode captureMode); /// /// 关闭相机 /// /// int CloseCam(); /// /// 取图 /// /// int Snap(); /// /// 被动触发事件 /// event EventHandler ImageTrigger; } public enum CamereaCompanyType { HIKVision, HIKVision_CXP, Ajhua, Basler, FLIR, File, } [Serializable] public class EventImageTrigger : EventArgs { public string cameraName { get; set; } public Bitmap image { get; set; } public int TriggerCount { get; set; } } public class EventIntPtrImageTrigger : EventArgs { public string cameraName { get; set; } public IntPtr pImage { get; set; } public int imageWidth { get; set; } public int imageHeight { get; set; } } public enum TriggerMode { Off = 0, On } public enum TriggerSouce { HIKLine0 = 0, HIKSoftWare = 1, FLIRLine0 = 2, FLIRSoftWare = 3, SoftWareHIK = 7 } public enum CaptureMode { Positive, CallBack } /// /// 每次需从相机读取的参数 /// public class CameraInfo { } }