diff --git a/back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs b/back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs index 3c276145..41fdb42b 100644 --- a/back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs +++ b/back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs @@ -56,7 +56,7 @@ namespace Kyoo.Core.Controllers private static async Task _WriteTo(SKBitmap bitmap, string path) { - SKData data = bitmap.Encode(SKEncodedImageFormat.Jpeg, 18); + SKData data = bitmap.Encode(SKEncodedImageFormat.Webp, 18); await using Stream reader = data.AsStream(); await using Stream file = File.Create(path); await reader.CopyToAsync(file); @@ -80,13 +80,13 @@ namespace Kyoo.Core.Controllers using SKBitmap original = SKBitmap.Decode(codec, info); using SKBitmap high = original.Resize(new SKSizeI(original.Width, original.Height), SKFilterQuality.High); - await _WriteTo(high, $"{localPath}.{ImageQuality.High.ToString().ToLowerInvariant()}.jpg"); + await _WriteTo(high, $"{localPath}.{ImageQuality.High.ToString().ToLowerInvariant()}.webp"); using SKBitmap medium = high.Resize(new SKSizeI((int)(high.Width / 1.5), (int)(high.Height / 1.5)), SKFilterQuality.Medium); - await _WriteTo(medium, $"{localPath}.{ImageQuality.Medium.ToString().ToLowerInvariant()}.jpg"); + await _WriteTo(medium, $"{localPath}.{ImageQuality.Medium.ToString().ToLowerInvariant()}.webp"); using SKBitmap low = medium.Resize(new SKSizeI(medium.Width / 2, medium.Height / 2), SKFilterQuality.Low); - await _WriteTo(low, $"{localPath}.{ImageQuality.Low.ToString().ToLowerInvariant()}.jpg"); + await _WriteTo(low, $"{localPath}.{ImageQuality.Low.ToString().ToLowerInvariant()}.webp"); image.Blurhash = Blurhasher.Encode(low, 4, 3); } @@ -124,7 +124,7 @@ namespace Kyoo.Core.Controllers public string GetImagePath(T item, string image, ImageQuality quality) where T : IThumbnails { - return $"{_GetBaseImagePath(item, image)}.{quality.ToString().ToLowerInvariant()}.jpg"; + return $"{_GetBaseImagePath(item, image)}.{quality.ToString().ToLowerInvariant()}.webp"; } } } diff --git a/back/src/Kyoo.Core/Views/Helper/CrudThumbsApi.cs b/back/src/Kyoo.Core/Views/Helper/CrudThumbsApi.cs index d02cb624..13ccbf99 100644 --- a/back/src/Kyoo.Core/Views/Helper/CrudThumbsApi.cs +++ b/back/src/Kyoo.Core/Views/Helper/CrudThumbsApi.cs @@ -68,7 +68,7 @@ namespace Kyoo.Core.Api string path = _thumbs.GetImagePath(resource, image, quality ?? ImageQuality.High); if (path == null || !System.IO.File.Exists(path)) return NotFound(); - return PhysicalFile(Path.GetFullPath(path), "image/jpeg", true); + return PhysicalFile(Path.GetFullPath(path), "image/webp", true); } ///