StitchATon2/App/Utils.cs

37 lines
1.1 KiB
C#
Raw Permalink Normal View History

2025-07-31 06:19:32 +07:00
using System.IO.Pipelines;
2025-07-30 07:30:00 +07:00
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,
CancellationToken cancellationToken = default)
2025-07-30 07:30:00 +07:00
{
using var imageCreator = new DangerousImageCreator(section);
await imageCreator.WriteToStream(stream, scale!.Value, cancellationToken);
2025-07-30 07:30:00 +07:00
}
2025-07-31 06:19:32 +07:00
public static async Task WriteToPipe(
this GridSection section,
PipeWriter pipeWriter,
float? scale,
CancellationToken cancellationToken = default)
2025-07-31 06:19:32 +07:00
{
using var imageCreator = new DangerousImageCreator(section);
await imageCreator.WriteToPipe(pipeWriter, scale!.Value, cancellationToken);
2025-07-31 06:19:32 +07:00
}
2025-07-30 07:30:00 +07:00
}