diff --git a/kcc/comic2ebook.py b/kcc/comic2ebook.py index 44b218e..1770a2c 100755 --- a/kcc/comic2ebook.py +++ b/kcc/comic2ebook.py @@ -297,7 +297,7 @@ def applyImgOptimization(img, isSplit=False, toRight=False): img.resizeImage(options.upscale, options.stretch, options.black_borders, isSplit, toRight, options.landscapemode, options.nopanelviewhq) img.optimizeImage(options.gamma) - if not options.notquantize: + if options.forcepng: img.quantizeImage() @@ -337,17 +337,17 @@ def dirImgProcess(path): facing = "left" img0 = image.ComicPage(split[0], options.profile) applyImgOptimization(img0, True, toRight1) - img0.saveToDir(dirpath, options.notquantize) + img0.saveToDir(dirpath, options.forcepng) img1 = image.ComicPage(split[1], options.profile) applyImgOptimization(img1, True, toRight2) - img1.saveToDir(dirpath, options.notquantize) + img1.saveToDir(dirpath, options.forcepng) else: if facing == "right": facing = "left" else: facing = "right" applyImgOptimization(img) - img.saveToDir(dirpath, options.notquantize) + img.saveToDir(dirpath, options.forcepng) def genEpubStruct(path): @@ -560,8 +560,8 @@ def main(argv=None): help="Disable high quality Panel View [Default=False]") parser.add_option("--noprocessing", action="store_false", dest="imgproc", default=True, help="Do not apply image preprocessing (Page splitting and optimizations) [Default=True]") - parser.add_option("--nodithering", action="store_true", dest="notquantize", default=False, - help="Disable image quantization [Default=False]") + parser.add_option("--forcepng", action="store_true", dest="forcepng", default=False, + help="Create PNG files instead JPEG (For non-Kindle devices) [Default=False]") parser.add_option("--gamma", type="float", dest="gamma", default="0.0", help="Apply gamma correction to linearize the image [Default=Auto]") parser.add_option("--upscale", action="store_true", dest="upscale", default=False, diff --git a/kcc/image.py b/kcc/image.py index 743c124..51502f3 100755 --- a/kcc/image.py +++ b/kcc/image.py @@ -113,15 +113,15 @@ class ComicPage: raise RuntimeError('Cannot read image file %s' % source) self.image = self.image.convert('RGB') - def saveToDir(self, targetdir, notquantize): + def saveToDir(self, targetdir, forcepng): filename = os.path.basename(self.origFileName) try: self.image = self.image.convert('L') # convert to grayscale os.remove(os.path.join(targetdir, filename)) - if notquantize: - self.image.save(os.path.join(targetdir, os.path.splitext(filename)[0] + ".jpg"), "JPEG") - else: + if forcepng: self.image.save(os.path.join(targetdir, os.path.splitext(filename)[0] + ".png"), "PNG") + else: + self.image.save(os.path.join(targetdir, os.path.splitext(filename)[0] + ".jpg"), "JPEG", quality=95) except IOError as e: raise RuntimeError('Cannot write image in directory %s: %s' % (targetdir, e))