From 6b98f97910958d5f69054389d6d1a672d1d5a8ac Mon Sep 17 00:00:00 2001 From: "Jan N. Schulze" Date: Wed, 25 Feb 2015 10:57:11 +0100 Subject: [PATCH] Add quality option --- stdimage/models.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/stdimage/models.py b/stdimage/models.py index ad8cd59..cbe545f 100644 --- a/stdimage/models.py +++ b/stdimage/models.py @@ -92,7 +92,7 @@ def render_and_save_variation(self, name, content, variation, ) with BytesIO() as file_buffer: - img.save(file_buffer, file_format) + img.save(file_buffer, file_format, quality=variation['quality']) f = ContentFile(file_buffer.getvalue()) self.storage.save(variation_name, f) return variation_name @@ -144,7 +144,8 @@ class StdImageField(ImageField): 'width': float('inf'), 'height': float('inf'), 'crop': False, - 'resample': Image.ANTIALIAS + 'resample': Image.ANTIALIAS, + 'quality': 75, } def __init__(self, verbose_name=None, name=None, variations=None, @@ -181,7 +182,7 @@ def __init__(self, verbose_name=None, name=None, variations=None, def add_variation(self, name, params): variation = self.def_variation.copy() if isinstance(params, (list, tuple)): - variation.update(dict(zip(("width", "height", "crop"), params))) + variation.update(dict(zip(("width", "height", "crop", "quality"), params))) else: variation.update(params) variation["name"] = name