164 lines
4.0 KiB
C#
164 lines
4.0 KiB
C#
using System.Drawing;
|
|
using DispenserHal.Camera.DTO;
|
|
using DispenserHal.Camera.Interface;
|
|
using DispenserHal.Camera.VO;
|
|
using Serilog;
|
|
|
|
namespace DispenserHal.Camera.Client;
|
|
|
|
public class CameraClient : ICamera
|
|
{
|
|
private readonly AbstractCamera delegateClient;
|
|
|
|
public CameraClient(AbstractCamera delegateClient)
|
|
{
|
|
this.delegateClient = delegateClient;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设备号
|
|
/// </summary>
|
|
public string SN => delegateClient.SN;
|
|
|
|
/// <summary>
|
|
/// 连接状态
|
|
/// </summary>
|
|
public bool Connected => delegateClient.Connected;
|
|
|
|
/// <summary>
|
|
/// 标识当前是否在采集视频中
|
|
/// </summary>
|
|
public bool CapturingVideo => delegateClient.CapturingVideo;
|
|
|
|
public CameraResponseVO Connect()
|
|
{
|
|
return delegateClient.Connect();
|
|
}
|
|
|
|
public CameraResponseVO Connect(long timeout)
|
|
{
|
|
return delegateClient.Connect(timeout);
|
|
}
|
|
|
|
public CameraResponseVO Close()
|
|
{
|
|
return delegateClient.Close();
|
|
}
|
|
|
|
public CameraResponseVO RegisterCallback(Action<string, Bitmap> callback)
|
|
{
|
|
return delegateClient.RegisterCallback(callback);
|
|
}
|
|
|
|
public CameraResponseVO StartSteaming()
|
|
{
|
|
return delegateClient.StartSteaming();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 相机拍照
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public CameraResponseVO TokePhoto()
|
|
{
|
|
return delegateClient.TokePhoto();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 开始连续采集
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public CameraResponseVO StartCaptureVideo()
|
|
{
|
|
return delegateClient.StartCaptureVideo();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 停止连续采集
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public CameraResponseVO StopCaptureVideo()
|
|
{
|
|
return delegateClient.StopCaptureVideo();
|
|
}
|
|
|
|
public CameraResponseVO SwitchHardTriggerMode()
|
|
{
|
|
return delegateClient.SwitchHardTriggerMode();
|
|
}
|
|
|
|
public CameraResponseVO StopSteaming()
|
|
{
|
|
return delegateClient.StopSteaming();
|
|
}
|
|
|
|
public CameraResponseVO SwitchContinuousMode()
|
|
{
|
|
return delegateClient.SwitchContinuousMode();
|
|
}
|
|
|
|
public CameraResponseVO SwitchSoftwareTriggerMode()
|
|
{
|
|
return delegateClient.SwitchSoftwareTriggerMode();
|
|
}
|
|
|
|
public CameraResponseVO SoftwareTrigger()
|
|
{
|
|
return delegateClient.SoftwareTrigger();
|
|
}
|
|
|
|
//写入参数
|
|
public CameraResponseVO SetEnumValue(string strKey, uint nvalue)
|
|
{
|
|
Log.Information($"正在更新相机参数: {strKey},值为 {nvalue}");
|
|
return delegateClient.SetEnumValue(strKey, nvalue);
|
|
}
|
|
|
|
public CameraResponseVO SetIntValue(string strKey, long nvalue)
|
|
{
|
|
Log.Information($"正在更新相机参数: {strKey},值为 {nvalue}");
|
|
return delegateClient.SetIntValue(strKey, nvalue);
|
|
}
|
|
|
|
public CameraResponseVO SetBoolValue(string strKey, bool nvalue)
|
|
{
|
|
Log.Information($"正在更新相机参数: {strKey},值为 {nvalue}");
|
|
return delegateClient.SetBoolValue(strKey, nvalue);
|
|
}
|
|
|
|
public CameraResponseVO SetFloatValue(string strKey, float nvalue)
|
|
{
|
|
Log.Information($"正在更新相机参数: {strKey},值为 {nvalue}");
|
|
return delegateClient.SetFloatValue(strKey, nvalue);
|
|
}
|
|
|
|
public bool GetBoolValue(string key)
|
|
{
|
|
return delegateClient.GetBoolValue(key);
|
|
}
|
|
|
|
public IntValue GetIntValue(string key)
|
|
{
|
|
return delegateClient.GetIntValue(key);
|
|
}
|
|
|
|
public FloatValue? GetFloatValue(string key)
|
|
{
|
|
return delegateClient.GetFloatValue(key);
|
|
}
|
|
|
|
public EnumValue? GetEnumValue(string key)
|
|
{
|
|
return delegateClient.GetEnumValue(key);
|
|
}
|
|
|
|
public StringValue? GetStringValue(string key)
|
|
{
|
|
return delegateClient.GetStringValue(key);
|
|
}
|
|
|
|
public EnumItem GetEnumEntrySymbolic(string key, uint supportIndex)
|
|
{
|
|
return delegateClient.GetEnumEntrySymbolic(key, supportIndex);
|
|
}
|
|
} |