版本260406
This commit is contained in:
80
OrpaonVision.SiteApp/Runtime/Services/IHikCameraService.cs
Normal file
80
OrpaonVision.SiteApp/Runtime/Services/IHikCameraService.cs
Normal file
@@ -0,0 +1,80 @@
|
||||
using OrpaonVision.Core.Results;
|
||||
using OrpaonVision.SiteApp.Runtime.Contracts;
|
||||
|
||||
namespace OrpaonVision.SiteApp.Runtime.Services;
|
||||
|
||||
/// <summary>
|
||||
/// 海康相机服务接口。
|
||||
/// </summary>
|
||||
public interface IHikCameraService
|
||||
{
|
||||
/// <summary>
|
||||
/// 枚举所有可用的海康相机设备。
|
||||
/// </summary>
|
||||
Result<IReadOnlyList<HikCameraDevice>> EnumerateDevices();
|
||||
|
||||
/// <summary>
|
||||
/// 连接到指定的相机设备。
|
||||
/// </summary>
|
||||
Result ConnectToDevice(HikCameraDevice device);
|
||||
|
||||
/// <summary>
|
||||
/// 连接到指定的相机(通过序列号或IP)。
|
||||
/// </summary>
|
||||
Result ConnectToDevice(string serialNumberOrIp);
|
||||
|
||||
/// <summary>
|
||||
/// 断开当前连接。
|
||||
/// </summary>
|
||||
Result Disconnect();
|
||||
|
||||
/// <summary>
|
||||
/// 检查连接状态。
|
||||
/// </summary>
|
||||
bool IsConnected { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前连接的设备信息。
|
||||
/// </summary>
|
||||
HikCameraDevice? CurrentDevice { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置相机参数。
|
||||
/// </summary>
|
||||
Result SetCameraParameters(int width, int height, string pixelFormat, int triggerMode = 0);
|
||||
|
||||
/// <summary>
|
||||
/// 开始图像采集。
|
||||
/// </summary>
|
||||
Result StartGrabbing();
|
||||
|
||||
/// <summary>
|
||||
/// 停止图像采集。
|
||||
/// </summary>
|
||||
Result StopGrabbing();
|
||||
|
||||
/// <summary>
|
||||
/// 软件触发一次采集。
|
||||
/// </summary>
|
||||
Result TriggerSoftware();
|
||||
|
||||
/// <summary>
|
||||
/// 获取一帧图像。
|
||||
/// </summary>
|
||||
Result<byte[]> GetLatestFrame();
|
||||
|
||||
/// <summary>
|
||||
/// 获取一帧图像(带时间戳)。
|
||||
/// </summary>
|
||||
Result<CameraFrameDto> GetLatestFrameWithTimestamp();
|
||||
|
||||
/// <summary>
|
||||
/// 注册图像回调事件。
|
||||
/// </summary>
|
||||
event Action<byte[], DateTime>? OnImageReceived;
|
||||
|
||||
/// <summary>
|
||||
/// 注册连接状态变化事件。
|
||||
/// </summary>
|
||||
event Action<bool, string>? OnConnectionStateChanged;
|
||||
}
|
||||
Reference in New Issue
Block a user