103 lines
2.6 KiB
C#
103 lines
2.6 KiB
C#
|
using System.Drawing;
|
||
|
using DispenserHal.Camera.DTO;
|
||
|
using DispenserHal.Camera.VO;
|
||
|
|
||
|
namespace DispenserHal.Camera.Interface;
|
||
|
|
||
|
public interface ICamera
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// 连接相机
|
||
|
/// </summary>
|
||
|
public CameraResponseVO Connect();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 连接相机带超时时间
|
||
|
/// </summary>
|
||
|
public CameraResponseVO Connect(long timeout);
|
||
|
|
||
|
/// <summary>
|
||
|
/// 关闭相机
|
||
|
/// </summary>
|
||
|
public CameraResponseVO Close();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 注册回调函数
|
||
|
/// </summary>
|
||
|
/// <param name="callback"></param>
|
||
|
public CameraResponseVO RegisterCallback(Action<string, Bitmap> callback);
|
||
|
|
||
|
/// <summary>
|
||
|
/// 开启采集(回调方式)
|
||
|
/// </summary>
|
||
|
public CameraResponseVO StartSteaming();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取一帧图像
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
CameraResponseVO TokePhoto();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 开始连续采集
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
CameraResponseVO StartCaptureVideo();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 停止连续采集
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
public CameraResponseVO StopCaptureVideo();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 切换硬触发模式
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
public CameraResponseVO SwitchHardTriggerMode();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 关闭采集
|
||
|
/// </summary>
|
||
|
public CameraResponseVO StopSteaming();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 切换连续触发模式
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
public CameraResponseVO SwitchContinuousMode();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 切换软发模式
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
public CameraResponseVO SwitchSoftwareTriggerMode();
|
||
|
|
||
|
/// <summary>
|
||
|
/// 软触发
|
||
|
/// </summary>
|
||
|
/// <returns></returns>
|
||
|
public CameraResponseVO SoftwareTrigger();
|
||
|
|
||
|
//写入参数
|
||
|
public CameraResponseVO SetEnumValue(string strKey, uint nvalue);
|
||
|
public CameraResponseVO SetIntValue(string strKey, long nvalue);
|
||
|
public CameraResponseVO SetBoolValue(string strKey, bool nvalue);
|
||
|
public CameraResponseVO SetFloatValue(string strKey, float nvalue);
|
||
|
|
||
|
bool GetBoolValue(string key);
|
||
|
|
||
|
IntValue GetIntValue(string key);
|
||
|
FloatValue? GetFloatValue(string key);
|
||
|
|
||
|
EnumValue? GetEnumValue(string key);
|
||
|
StringValue? GetStringValue(string key);
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取枚举值
|
||
|
/// </summary>
|
||
|
/// <param name="key"></param>
|
||
|
/// <param name="supportIndex"></param>
|
||
|
/// <returns></returns>
|
||
|
EnumItem GetEnumEntrySymbolic(string key, uint supportIndex);
|
||
|
}
|