using System; using System.Collections.Generic; using System.Drawing; namespace PaintDotNet.Camera { public interface ICamera { string GetName(); string GetSN(); /// /// 自动曝光 1:启用 , 0:禁用 /// int AutoExposure { get; set; } /// /// 曝光时间 /// double ExposureTime { get; set; } /// /// Bin 0:1x1,1:2x2.....暂时不常用 /// int BinningSum { get; set; } /// /// 红色增益 /// int RedGain { get; set; } /// /// 绿色增益 /// int GreenGain { get; set; } /// /// 蓝色增益 /// int BlueGain { get; set; } /// /// 色温 /// int ColorTemperature { get; set; } /// /// 对比度 /// int Contrast { get; set; } /// /// 选择分辨率 /// int ResolutionId { get; set; } /// /// 全图时的分辨率 /// Size Resolution { get; } /// /// 当前采集回图像的分辨率 /// Size CurrnetResolution { get; } /// /// 平场校正 /// int FlatCorretion { get; set; } /// /// 增益 /// int Gain { get; set; } /// /// 伽马值 /// double Gamma { get; set; } int LeftLevel { get; set; } int RightLevel { get; set; } /// /// 0:彩色 , 1:黑白 /// int GrayMode { get; set; } /// /// HDR 高动态范围图像 /// int HDR { get; set; } /// /// 水平镜像 /// bool HorizontalMirrored { get; set; } /// /// 垂直镜像 /// bool VerticalMirrored { get; set; } /// /// 自动曝光时的目标灰度 /// int Target { get; set; } Range GetTargetRange(); /// /// 亮度 /// int Light { get; set; } /// /// 旋转 0:原始,1:L90 , 2:180, 3:R90 /// int Rotate { set; } /// /// 色彩饱和度 /// double Saturation { get; set; } /// /// 图像锐度 /// int Sharpness { get; set; } /// /// 白平衡:0手动,1自动 /// int WhiteBalanceMode { set; } /// /// 预览回调 /// event Action FrameCallback; void Close(); /// /// 平场校正计算 /// void FlatCalculate(); /// /// 平场校正采集 /// void FlatCapture(); Range GetColorChannelRang(int channel); Range GetColorTemperatureRange(); Range GetExposureTimeRange(); Range GetGlobalGainRange(); Range GetLightRange(); List GetResolutionList(); void GetROI(ref int x, ref int y, ref int width, ref int height); Range GetSaturationRange(); Range GetSharpnessRange(); bool IsOpen(); Bitmap OneShoot(); bool Open(); bool ReadRegisterData(out string snCode); void RecStart(string fileName); void RecStop(); void ResetROI(); void SetROI(int x, int y, int width, int height); void StartPreview(); void StopPreview(); void RepairPreview(); } }