From c2cd135cf8857128cef75142ca69ff098f059ce7 Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Wed, 31 Dec 2008 17:16:53 -0500 Subject: [PATCH] During Mobi generation convert image types other than GIF and JPEG. --- src/calibre/ebooks/mobi/writer.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/mobi/writer.py b/src/calibre/ebooks/mobi/writer.py index 63e15b6484..e8d4c2db4b 100644 --- a/src/calibre/ebooks/mobi/writer.py +++ b/src/calibre/ebooks/mobi/writer.py @@ -256,15 +256,21 @@ class MobiWriter(object): self._text_nrecords = nrecords def _rescale_image(self, data, maxsizeb, dimen=None): + image = Image.open(StringIO(data)) + format = image.format + changed = False + if image.format not in ('JPEG', 'GIF'): + format = 'GIF' + changed = True if dimen is not None: - image = Image.open(StringIO(data)) image.thumbnail(dimen, Image.ANTIALIAS) + changed = True + if changed: data = StringIO() - image.save(data, image.format) + image.save(data, format) data = data.getvalue() if len(data) < maxsizeb: return data - image = Image.open(StringIO(data)) for quality in xrange(95, -1, -1): data = StringIO() image.save(data, 'JPEG', quality=quality)