37 lines
No EOL
1.1 KiB
C#
37 lines
No EOL
1.1 KiB
C#
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,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
using var imageCreator = new DangerousImageCreator(section);
|
|
await imageCreator.WriteToStream(stream, scale!.Value, cancellationToken);
|
|
}
|
|
|
|
public static async Task WriteToPipe(
|
|
this GridSection section,
|
|
PipeWriter pipeWriter,
|
|
float? scale,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
using var imageCreator = new DangerousImageCreator(section);
|
|
await imageCreator.WriteToPipe(pipeWriter, scale!.Value, cancellationToken);
|
|
}
|
|
} |