]> git.ipfire.org Git - ipfire.org.git/commitdiff
util: Support WEBP as output format for thumbnails
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 6 Jan 2024 17:01:02 +0000 (17:01 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 6 Jan 2024 17:01:02 +0000 (17:01 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/util.py

index 80251f16a115b38963efa8100d5752cfb477a6c6..27290cc499200e90920c455d10a2388a31daa779 100644 (file)
@@ -260,14 +260,23 @@ def generate_thumbnail(image, size, square=False, format=None, **args):
        else:
                image.thumbnail((size, size), PIL.Image.LANCZOS)
 
+       # Apply a gaussian blur to make compression easier
+       image = image.filter(PIL.ImageFilter.GaussianBlur(radius=0.05))
+
+       # Arguments to optimise the compression
+       args.update({
+               "subsampling" : "4:2:0",
+               "quality"     : 68,
+       })
+
        if image.format == "JPEG":
-               # Apply a gaussian blur to make compression easier
-               image = image.filter(PIL.ImageFilter.GaussianBlur(radius=0.05))
+               args.update({
+                       "qtables"      : "web_low",
+               })
 
-               # Arguments to optimise the compression
+       elif image.format == "WEBP":
                args.update({
-                       "subsampling" : "4:2:0",
-                       "quality"     : 70,
+                       "lossless"    : False,
                })
 
        with io.BytesIO() as f: