diff --git a/kcc/comic2ebook.py b/kcc/comic2ebook.py index 6be5da3..235ba96 100755 --- a/kcc/comic2ebook.py +++ b/kcc/comic2ebook.py @@ -342,17 +342,17 @@ def dirImgProcess(path): facing = "left" img0 = image.ComicPage(split[0], options.profile) applyImgOptimization(img0, True, toRight1) - img0.saveToDir(dirpath, options.forcepng) + img0.saveToDir(dirpath, options.forcepng, options.forcecolor) img1 = image.ComicPage(split[1], options.profile) applyImgOptimization(img1, True, toRight2) - img1.saveToDir(dirpath, options.forcepng) + img1.saveToDir(dirpath, options.forcepng, options.forcecolor) else: if facing == "right": facing = "left" else: facing = "right" applyImgOptimization(img) - img.saveToDir(dirpath, options.forcepng) + img.saveToDir(dirpath, options.forcepng, options.forcecolor) def genEpubStruct(path): @@ -678,8 +678,14 @@ def checkOptions(): else: #Virtual Panel View options.panelview = False - if options.profile == 'K1' or options.profile == 'K2' or options.profile == 'KDX' or options.profile == 'KDXG': + if options.profile == 'K1' or options.profile == 'K2' or options.profile == 'KDX' or options.profile == 'KDXG' or options.profile == 'KF' or options.profile == 'KFHD' or options.profile == 'KFHD8': options.nopanelviewhq = True + if options.profile == 'KF' or options.profile == 'KFHD' or options.profile == 'KFHD8': + options.upscale = True + options.forcecolor = True + options.forcepng = False + else: + options.forcecolor = False def getEpubPath(): diff --git a/kcc/image.py b/kcc/image.py index 3876650..896058a 100755 --- a/kcc/image.py +++ b/kcc/image.py @@ -84,7 +84,10 @@ class ProfileData: 'K4T': ("Kindle Touch", (600, 800), Palette16, 1.8, (900, 1200)), 'KHD': ("Kindle Paperwhite", (758, 1024), Palette16, 1.8, (1137, 1536)), 'KDX': ("Kindle DX", (824, 1200), Palette15, 1.8, (1236, 1800)), - 'KDXG': ("Kindle DXG", (824, 1200), Palette16, 1.8, (1236, 1800)) + 'KDXG': ("Kindle DXG", (824, 1200), Palette16, 1.8, (1236, 1800)), + 'KF': ("Kindle Fire", (600, 1024), Palette16, 1.0, (900, 1536)), + 'KFHD': ("Kindle Fire HD 7\"", (800, 1280), Palette16, 1.0, (1200, 1920)), + 'KFHD8': ("Kindle Fire HD 8.9\"", (1200, 1920), Palette16, 1.0, (1800, 2880)) } ProfileLabels = { @@ -95,7 +98,10 @@ class ProfileData: "Kindle 4/Touch": 'K4T', "Kindle Paperwhite": 'KHD', "Kindle DX": 'KDX', - "Kindle DXG": 'KDXG' + "Kindle DXG": 'KDXG', + "Kindle Fire": 'KF', + "Kindle Fire HD 7\"": 'KFHD', + "Kindle Fire HD 8.9\"": 'KFHD8' } @@ -113,10 +119,11 @@ class ComicPage: raise RuntimeError('Cannot read image file %s' % source) self.image = self.image.convert('RGB') - def saveToDir(self, targetdir, forcepng): + def saveToDir(self, targetdir, forcepng, color): filename = os.path.basename(self.origFileName) try: - self.image = self.image.convert('L') # convert to grayscale + if not color: + self.image = self.image.convert('L') # convert to grayscale os.remove(os.path.join(targetdir, filename)) if forcepng: self.image.save(os.path.join(targetdir, os.path.splitext(filename)[0] + ".png"), "PNG")