For the .NET Core transformation, we need to be able to abstraction the image URL generation, because ImageProcessor is not supported.
This task is about introducing a custom SkiaSharpImageController that catches the requests generated by IImageUrlGenerator introduced in #7538 and returns a binary image that is manipulated as requested in by the URL query string.
We expect this controller to delegate all work to a SkiaSharpImageService that can be reused in SkiaSharpImageHandlerMiddelware when we have changed the executable to ASP.NET Core.
It makes sense to reuse the implementation from ImageProcessorImageUrlGenerator but make a SkiaSharpImageUrlGenerator that just inherit from ImageProcessorImageUrlGenerator.
The idea is to be able to replace ImageProcessorHandler for the .NET Core implementation of Umbraco.
You might want to inspect the output quality of images produced by SkiaSharp.
I'm thinking of working through the three predecessor issues, #7538, #7539, and #7540 and once those get in and merged up, I'll tackle this one. Since we are going to put these dependent components in their own project, I'll create an Umbraco.Infrastructure.SkiaSharp project and an Umbraco.Infrastructure.ImageSharp project. The implementation of both should be fairly straightforward and similar, and with the middleware provided by ImageSharp it will be even easier to implement I think.
Most helpful comment
You might want to inspect the output quality of images produced by SkiaSharp.