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