diff options
| author | Vasily <just.one.man@yandex.ru> | 2020-06-01 18:12:49 +0300 |
|---|---|---|
| committer | Vasily <just.one.man@yandex.ru> | 2020-06-01 18:12:49 +0300 |
| commit | 26eef1bbf823e6f9fc22b11d95a17b1370b21842 (patch) | |
| tree | 78d200c9530bfb2bd9c7c5a6fc42d1dc00796b45 /Jellyfin.Drawing.Skia/SkiaEncoder.cs | |
| parent | 58f099c0e2fec23d861bc9bdb76ac0d6d8e239b7 (diff) | |
Move logic of computing Blurhash components to ImageProcessor
Also rename last few instances of GetImageHash to GetImageBlurHash for clarity
Diffstat (limited to 'Jellyfin.Drawing.Skia/SkiaEncoder.cs')
| -rw-r--r-- | Jellyfin.Drawing.Skia/SkiaEncoder.cs | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/Jellyfin.Drawing.Skia/SkiaEncoder.cs b/Jellyfin.Drawing.Skia/SkiaEncoder.cs index 7f0da2c9ee..dae0e94d45 100644 --- a/Jellyfin.Drawing.Skia/SkiaEncoder.cs +++ b/Jellyfin.Drawing.Skia/SkiaEncoder.cs @@ -234,29 +234,13 @@ namespace Jellyfin.Drawing.Skia /// <exception cref="ArgumentNullException">The path is null.</exception> /// <exception cref="FileNotFoundException">The path is not valid.</exception> /// <exception cref="SkiaCodecException">The file at the specified path could not be used to generate a codec.</exception> - public string GetImageHash(string path) + public string GetImageBlurHash(int xComp, int yComp, string path) { if (path == null) { throw new ArgumentNullException(nameof(path)); } - var dims = GetImageSize(path); - if (dims.Width <= 0 || dims.Height <= 0) - { - // empty image does not have any blurhash - return string.Empty; - } - - // We want tiles to be as close to square as possible, and to *mostly* keep under 16 tiles for performance. - // One tile is (width / xComp) x (height / yComp) pixels, which means that ideally yComp = xComp * height / width. - // See more at https://github.com/woltapp/blurhash/#how-do-i-pick-the-number-of-x-and-y-components - float xCompF = MathF.Sqrt(16.0f * dims.Width / dims.Height); - float yCompF = xCompF * dims.Height / dims.Width; - - int xComp = Math.Min((int)xCompF + 1, 9); - int yComp = Math.Min((int)yCompF + 1, 9); - return BlurHashEncoder.Encode(xComp, yComp, path); } |
