Dispenser/DispenserHal/Camera/Interface/ICamera.cs

103 lines
2.6 KiB
C#
Raw Permalink Normal View History

2024-08-16 07:20:09 +00:00
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);
}