From 8dd0b0e694e567f97eea656af71002621e124159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Jastrz=C4=99bski?= Date: Fri, 18 Apr 2014 11:47:51 +0200 Subject: [PATCH] Tweaked whitespace cropping + other small tweaks --- kcc/comic2ebook.py | 4 +++- kcc/image.py | 11 ++++++----- setup.py | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/kcc/comic2ebook.py b/kcc/comic2ebook.py index 9eeac42..ff50338 100755 --- a/kcc/comic2ebook.py +++ b/kcc/comic2ebook.py @@ -308,7 +308,7 @@ def applyImgOptimization(img, opt, hqImage=None): if not img.fill: img.getImageFill(opt.webtoon) if not opt.webtoon: - img.cropWhiteSpace(10.0) + img.cropWhiteSpace() if opt.cutpagenumbers and not opt.webtoon: img.cutPageNumber() img.optimizeImage(opt.gamma) @@ -1016,6 +1016,8 @@ def main(argv=None, qtGUI=None): def getOutputFilename(srcpath, wantedname, ext, tomeNumber): + if srcpath[-1] == os.path.sep: + srcpath = srcpath[:-1] if not ext.startswith('.'): ext = '.' + ext if wantedname is not None: diff --git a/kcc/image.py b/kcc/image.py index 7725a1a..1f7dfcf 100755 --- a/kcc/image.py +++ b/kcc/image.py @@ -362,27 +362,28 @@ class ComicPage: self.image = self.image.crop((0, 0, widthImg, heightImg - diff)) return self.image - def cropWhiteSpace(self, threshold): + def cropWhiteSpace(self): if ImageChops.invert(self.image).getbbox() is not None: widthImg, heightImg = self.image.size delta = 10 diff = delta + fixedThreshold = 0.1 # top - while ImageStat.Stat(self.image.crop((0, 0, widthImg, diff))).var[0] < threshold and diff < heightImg: + while ImageStat.Stat(self.image.crop((0, 0, widthImg, diff))).var[0] < fixedThreshold and diff < heightImg: diff += delta diff -= delta self.image = self.image.crop((0, diff, widthImg, heightImg)) widthImg, heightImg = self.image.size diff = delta # left - while ImageStat.Stat(self.image.crop((0, 0, diff, heightImg))).var[0] < threshold and diff < widthImg: + while ImageStat.Stat(self.image.crop((0, 0, diff, heightImg))).var[0] < fixedThreshold and diff < widthImg: diff += delta diff -= delta self.image = self.image.crop((diff, 0, widthImg, heightImg)) widthImg, heightImg = self.image.size diff = delta # down - while ImageStat.Stat(self.image.crop((0, heightImg - diff, widthImg, heightImg))).var[0] < threshold\ + while ImageStat.Stat(self.image.crop((0, heightImg - diff, widthImg, heightImg))).var[0] < fixedThreshold\ and diff < heightImg: diff += delta diff -= delta @@ -390,7 +391,7 @@ class ComicPage: widthImg, heightImg = self.image.size diff = delta # right - while ImageStat.Stat(self.image.crop((widthImg - diff, 0, widthImg, heightImg))).var[0] < threshold\ + while ImageStat.Stat(self.image.crop((widthImg - diff, 0, widthImg, heightImg))).var[0] < fixedThreshold\ and diff < widthImg: diff += delta diff -= delta diff --git a/setup.py b/setup.py index fd3a528..c2c1d5a 100755 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """ -cx_Freeze build script for KCC. +cx_Freeze/py2app build script for KCC. Usage (Mac OS X): python setup.py py2app