about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPaweł Jastrzębski <[email protected]>2017-02-05 08:53:09 +0100
committerPaweł Jastrzębski <[email protected]>2017-02-05 08:53:09 +0100
commit807a2d1dff99c26f1e945691f184d2f114051763 (patch)
treec27fffb561986abe6b28494a4b7666c5f56dd502
parentForce admin rights for Windows version (diff)
downloadkcc-807a2d1dff99c26f1e945691f184d2f114051763.tar.gz
kcc-807a2d1dff99c26f1e945691f184d2f114051763.tar.bz2
kcc-807a2d1dff99c26f1e945691f184d2f114051763.zip
Tweaked cover parsing
-rwxr-xr-xkindlecomicconverter/image.py26
1 files changed, 6 insertions, 20 deletions
diff --git a/kindlecomicconverter/image.py b/kindlecomicconverter/image.py
index b83bea7..ecc08b9 100755
--- a/kindlecomicconverter/image.py
+++ b/kindlecomicconverter/image.py
@@ -345,34 +345,20 @@ class Cover:
                 source = urlopen(Request(quote(self.options.remoteCovers[self.tomeNumber]).replace('%3A', ':', 1),
                                          headers={'User-Agent': 'KindleComicConverter/' + __version__})).read()
                 self.image = Image.open(BytesIO(source))
-                self.processExternal()
             except Exception:
                 self.image = Image.open(source)
-                self.processInternal()
         else:
             self.image = Image.open(source)
-            self.processInternal()
+        self.process()
 
-    def processInternal(self):
-        self.image = self.image.convert('RGB')
-        self.image = self.trim()
-        self.save()
-
-    def processExternal(self):
+    def process(self):
         self.image = self.image.convert('RGB')
+        self.image = ImageOps.autocontrast(self.image)
+        if not self.options.forcecolor:
+            self.image = self.image.convert('L')
         self.image.thumbnail(self.options.profileData[1], Image.LANCZOS)
         self.save()
 
-    def trim(self):
-        bg = Image.new(self.image.mode, self.image.size, self.image.getpixel((0, 0)))
-        diff = ImageChops.difference(self.image, bg)
-        diff = ImageChops.add(diff, diff, 2.0, -100)
-        bbox = diff.getbbox()
-        if bbox:
-            return self.image.crop(bbox)
-        else:
-            return self.image
-
     def save(self):
         try:
             self.image.save(self.target, "JPEG", optimize=1, quality=80)
@@ -380,7 +366,7 @@ class Cover:
             raise RuntimeError('Failed to process downloaded cover.')
 
     def saveToKindle(self, kindle, asin):
-        self.image = self.image.resize((300, 470), Image.ANTIALIAS).convert('L')
+        self.image = self.image.resize((300, 470), Image.ANTIALIAS)
         try:
             self.image.save(os.path.join(kindle.path.split('documents')[0], 'system', 'thumbnails',
                                          'thumbnail_' + asin + '_EBOK_portrait.jpg'), 'JPEG')