forked from amkovkov/GranuSightSoftware2
33 lines
877 B
C#
33 lines
877 B
C#
using GSS2.Core.Hardware;
|
|
|
|
using LibCameraSharp;
|
|
|
|
namespace GSS2.Test.ViewModels;
|
|
|
|
public class CameraViewModel : ViewModelBase
|
|
{
|
|
private readonly CameraService _cameraService;
|
|
private readonly ILogger<CameraViewModel> _logger;
|
|
|
|
public CameraViewModel(CameraService cameraService, ILogger<CameraViewModel> logger)
|
|
{
|
|
_cameraService = cameraService;
|
|
_logger = logger;
|
|
_logger.LogInformation("Initialized");
|
|
}
|
|
|
|
public async Task<(FrameBuffer, StreamConfiguration)?> CaptureImage(int bufferId)
|
|
{
|
|
(FrameBuffer, StreamConfiguration)? result = null;
|
|
try
|
|
{
|
|
result = await _cameraService.CaptureViewFinderBuffer(bufferId, CancellationToken.None);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
_logger.LogError(e, "Error while image capture");
|
|
}
|
|
|
|
return result;
|
|
}
|
|
} |