diff options
| author | Fernando Fernández <ferferga@hotmail.com> | 2025-04-01 01:45:03 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-31 17:45:03 -0600 |
| commit | 2b742a59665e5579c4ac4d38a62f95aa9ff5365a (patch) | |
| tree | 11fc50235053777693a83fff15525d1f1add3107 /src/Jellyfin.Drawing.Skia/SkiaEncoder.cs | |
| parent | 5769c398c6bf5e23bac4063cdb17859b10fe37c7 (diff) | |
Reduce SKImage to SKBitmap conversion, high quality canvas (#5366)
Diffstat (limited to 'src/Jellyfin.Drawing.Skia/SkiaEncoder.cs')
| -rw-r--r-- | src/Jellyfin.Drawing.Skia/SkiaEncoder.cs | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/Jellyfin.Drawing.Skia/SkiaEncoder.cs b/src/Jellyfin.Drawing.Skia/SkiaEncoder.cs index 99f7fa7f9..73c8c3966 100644 --- a/src/Jellyfin.Drawing.Skia/SkiaEncoder.cs +++ b/src/Jellyfin.Drawing.Skia/SkiaEncoder.cs @@ -557,20 +557,14 @@ public class SkiaEncoder : IImageEncoder canvas.Clear(SKColor.Parse(options.BackgroundColor)); } + using var paint = new SKPaint(); // Add blur if option is present - if (blur > 0) - { - // create image from resized bitmap to apply blur - using var paint = new SKPaint(); - using var filter = SKImageFilter.CreateBlur(blur, blur); - paint.ImageFilter = filter; - canvas.DrawBitmap(resizedBitmap, SKRect.Create(width, height), paint); - } - else - { - // draw resized bitmap onto canvas - canvas.DrawBitmap(resizedBitmap, SKRect.Create(width, height)); - } + using var filter = blur > 0 ? SKImageFilter.CreateBlur(blur, blur) : null; + paint.FilterQuality = SKFilterQuality.High; + paint.ImageFilter = filter; + + // create image from resized bitmap to apply blur + canvas.DrawBitmap(resizedBitmap, SKRect.Create(width, height), paint); // If foreground layer present then draw if (hasForegroundColor) |
