61 lines
2.0 KiB
C#
61 lines
2.0 KiB
C#
using Domain;
|
|
using Domain.Interfaces;
|
|
using Make3.RenderServer.Layers;
|
|
using SkiaSharp;
|
|
|
|
namespace Make3.RenderServer;
|
|
|
|
public class TestProjectBackgroundService : BackgroundService
|
|
{
|
|
private readonly IServiceProvider _serviceProvider;
|
|
private readonly LayerClients.TestLayer.TestLayerClient _testLaterGrpcClient;
|
|
|
|
public TestProjectBackgroundService(IServiceProvider serviceProvider, LayerClients.TestLayer.TestLayerClient testLaterGrpcClient)
|
|
{
|
|
_serviceProvider = serviceProvider;
|
|
_testLaterGrpcClient = testLaterGrpcClient;
|
|
}
|
|
|
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
{
|
|
var dir = @"C:\Users\Ko12A\OneDrive\Изображения";
|
|
var image1 = OpenImage(Path.Combine(dir, "01_gettyimages_488111026_resized.jpg"));
|
|
var image2 = OpenImage(Path.Combine(dir, "kisspng-bmp-file-for.bmp"));
|
|
var image3 = OpenImage(Path.Combine(dir, "Zrzut ekranu 2021-07-20 164131.png"));
|
|
|
|
var project = new Project
|
|
{
|
|
Id = Guid.NewGuid(),
|
|
Height = Convert.ToUInt32(image1.Width),
|
|
Width = Convert.ToUInt32(image2.Width),
|
|
Layers = [
|
|
new TestLayer(_testLaterGrpcClient)
|
|
{
|
|
Order = 0,
|
|
Image = image1,
|
|
OpticalSchema = OpticalSchema.Sp11,
|
|
},
|
|
new TestLayer(_testLaterGrpcClient)
|
|
{
|
|
Order = 1,
|
|
Image = image2,
|
|
Mask = image3,
|
|
InvertMask = false,
|
|
OpticalSchema = OpticalSchema.Sp11,
|
|
},
|
|
],
|
|
};
|
|
|
|
using var scope = _serviceProvider.CreateScope();
|
|
var renderManager = scope.ServiceProvider.GetRequiredService<IRenderManager>();
|
|
var renderId = await renderManager.StartRender(project);
|
|
}
|
|
|
|
private SKBitmap OpenImage(string filename)
|
|
{
|
|
using SKBitmap bitmap = SKBitmap.Decode(filename);
|
|
return bitmap.Copy();
|
|
}
|
|
|
|
|
|
} |