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(); var renderId = await renderManager.StartRender(project); } private SKBitmap OpenImage(string filename) { using SKBitmap bitmap = SKBitmap.Decode(filename); return bitmap.Copy(); } }