using System.IO.Pipelines; using StitchATon2.App.Models; using StitchATon2.Domain; using StitchATon2.Domain.ImageCreators; namespace StitchATon2.App; public static class Utils { public static GridSection CreateSection(this TileManager manager, GenerateImageDto dto) => manager.CreateSection( dto.CanvasRect!, dto.CropOffset![0], dto.CropOffset![1], dto.CropSize![0], dto.CropSize![1]); public static async Task WriteToStream(this GridSection section, Stream stream, float? scale) { var imageCreator = new ImageCreator(section); await imageCreator.WriteToStream(stream, scale!.Value); } public static async Task DangerousWriteToPipe(this GridSection section, PipeWriter pipeWriter, float? scale) { var imageCreator = new DangerousImageCreator(section); await imageCreator.WriteToPipe(pipeWriter, scale!.Value); } }