From bf0630e4278088517bc4b81c796d8aa4ebf7fa7a Mon Sep 17 00:00:00 2001 From: Developer Team Date: Fri, 10 Apr 2015 06:50:37 -0500 Subject: [PATCH] [FIX] tools: add support for transparency of PNG images Fixes #2569 Closes #6260 --- openerp/tools/image.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/openerp/tools/image.py b/openerp/tools/image.py index 6a7a46c7d84..e53ee879f58 100644 --- a/openerp/tools/image.py +++ b/openerp/tools/image.py @@ -129,9 +129,14 @@ def image_save_for_web(image, fp=None, format=None): opt = dict(format=image.format or format) if image.format == 'PNG': opt.update(optimize=True) + alpha = False + if image.mode in ('RGBA', 'LA') or (image.mode == 'P' and 'transparency' in image.info): + alpha = image.convert('RGBA').split()[-1] if image.mode != 'P': # Floyd Steinberg dithering by default image = image.convert('RGBA').convert('P', palette=Image.WEB, colors=256) + if alpha: + image.putalpha(alpha) elif image.format == 'JPEG': opt.update(optimize=True, quality=80) if fp: