1
0
mirror of https://github.com/ciromattia/kcc synced 2025-12-25 07:31:52 +00:00

Force JPEG output

This commit is contained in:
Paweł Jastrzębski
2013-03-20 16:20:17 +01:00
parent 23336de5b5
commit cff9b73b80
2 changed files with 10 additions and 10 deletions

View File

@@ -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,

View File

@@ -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))