From: Michael Tremer Date: Sat, 6 Jan 2024 18:39:10 +0000 (+0000) Subject: docs: Deliver images with a better quality (and larger size) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=60b2a858d7a4adaa6ccf592b38771c2bb07da79b;hp=ccfb1584722c29b2209b795e90bb105a1122542c;p=ipfire.org.git docs: Deliver images with a better quality (and larger size) Signed-off-by: Michael Tremer --- diff --git a/src/backend/util.py b/src/backend/util.py index 4f85b740..9afc6e67 100644 --- a/src/backend/util.py +++ b/src/backend/util.py @@ -206,7 +206,7 @@ def normalize(s): return "-".join(s.split()) -def generate_thumbnail(image, size, square=False, format=None, **args): +def generate_thumbnail(image, size, square=False, format=None, quality=None, **args): assert image, "No image data received" if not isinstance(image, PIL.Image.Image): @@ -271,17 +271,17 @@ def generate_thumbnail(image, size, square=False, format=None, **args): # Arguments to optimise the compression args.update({ "subsampling" : "4:2:0", - "quality" : 72, + "quality" : quality or 72, }) if image.format == "JPEG": args.update({ - "qtables" : "web_low", + "qtables" : "web_low", }) elif image.format == "WEBP": args.update({ - "lossless" : False, + "lossless" : False, }) with io.BytesIO() as f: diff --git a/src/backend/wiki.py b/src/backend/wiki.py index 349a94d0..caacf702 100644 --- a/src/backend/wiki.py +++ b/src/backend/wiki.py @@ -704,7 +704,7 @@ class File(misc.Object): return thumbnail # Generate the thumbnail - thumbnail = util.generate_thumbnail(self.blob, size, format=format) + thumbnail = util.generate_thumbnail(self.blob, size, format=format, quality=95) # Put it into the cache for forever await self.backend.cache.set(cache_key, thumbnail)