mirror of
https://github.com/ciromattia/kcc
synced 2026-09-30 22:52:32 +00:00
Gamma auto mode is now even more automatic
This commit is contained in:
@@ -543,9 +543,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
<family>DejaVu Sans</family>
|
<family>DejaVu Sans</family>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p>When converting color images setting this option to 1.0 <span style=" font-weight:600;">might</span> improve readability.</p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Gamma: Auto</string>
|
<string>Gamma: Auto</string>
|
||||||
</property>
|
</property>
|
||||||
@@ -567,9 +564,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="focusPolicy">
|
<property name="focusPolicy">
|
||||||
<enum>Qt::ClickFocus</enum>
|
<enum>Qt::ClickFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p>When converting color images setting this option to 1.0 <span style=" font-weight:600;">might</span> improve readability.</p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>500</number>
|
<number>500</number>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -543,9 +543,6 @@
|
|||||||
<bold>false</bold>
|
<bold>false</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p><span style=" font-size:12pt;">When converting color images setting this option to 1.0 </span><span style=" font-size:12pt; font-weight:600;">might</span><span style=" font-size:12pt;"> improve readability.</span></p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Gamma: Auto</string>
|
<string>Gamma: Auto</string>
|
||||||
</property>
|
</property>
|
||||||
@@ -567,9 +564,6 @@
|
|||||||
<property name="focusPolicy">
|
<property name="focusPolicy">
|
||||||
<enum>Qt::ClickFocus</enum>
|
<enum>Qt::ClickFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p><span style=" font-size:12pt;">When converting color images setting this option to 1.0 </span><span style=" font-size:12pt; font-weight:600;">might</span><span style=" font-size:12pt;"> improve readability.</span></p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>500</number>
|
<number>500</number>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -469,9 +469,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
<height>40</height>
|
<height>40</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
|
||||||
<string>When converting color images setting this option to 1.0 MIGHT improve readability.</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Gamma: Auto</string>
|
<string>Gamma: Auto</string>
|
||||||
</property>
|
</property>
|
||||||
@@ -488,9 +485,6 @@ p, li { white-space: pre-wrap; }
|
|||||||
<property name="focusPolicy">
|
<property name="focusPolicy">
|
||||||
<enum>Qt::ClickFocus</enum>
|
<enum>Qt::ClickFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p>When converting color images setting this option to 1.0 <span style=" font-weight:600;">might</span> improve readability.</p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>500</number>
|
<number>500</number>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ You can find the latest released binary at the following links:
|
|||||||
* Read tooltip of _High/Ultra quality_ option. There are many important informations there.
|
* Read tooltip of _High/Ultra quality_ option. There are many important informations there.
|
||||||
* When converting images smaller than device resolution remember to enable upscaling.
|
* When converting images smaller than device resolution remember to enable upscaling.
|
||||||
* Panel View (auto zooming every part of page) can be disabled directly on Kindle. There is no KCC option to do that.
|
* Panel View (auto zooming every part of page) can be disabled directly on Kindle. There is no KCC option to do that.
|
||||||
* If you're converting color images and the end result is not satisfactory, experiment with gamma correction option (check 1.0 setting first).
|
|
||||||
* Check our [wiki](https://github.com/ciromattia/kcc/wiki/Other-devices) for a list of tested Non-Kindle E-Readers.
|
* Check our [wiki](https://github.com/ciromattia/kcc/wiki/Other-devices) for a list of tested Non-Kindle E-Readers.
|
||||||
* The first image found will be set as the comic's cover.
|
* The first image found will be set as the comic's cover.
|
||||||
* All files/directories will be added to EPUB in alphabetical order.
|
* All files/directories will be added to EPUB in alphabetical order.
|
||||||
|
|||||||
+1
-1
@@ -372,6 +372,7 @@ class WorkerThread(QtCore.QThread):
|
|||||||
if GUI.WebtoonBox.isChecked():
|
if GUI.WebtoonBox.isChecked():
|
||||||
argv.append("--webtoon")
|
argv.append("--webtoon")
|
||||||
if float(GUI.GammaValue) > 0.09:
|
if float(GUI.GammaValue) > 0.09:
|
||||||
|
# noinspection PyTypeChecker
|
||||||
argv.append("--gamma=" + GUI.GammaValue)
|
argv.append("--gamma=" + GUI.GammaValue)
|
||||||
if str(GUI.FormatBox.currentText()) == 'CBZ':
|
if str(GUI.FormatBox.currentText()) == 'CBZ':
|
||||||
argv.append("--cbz-output")
|
argv.append("--cbz-output")
|
||||||
@@ -715,7 +716,6 @@ class KCCGUI(KCC_ui.Ui_KCC):
|
|||||||
GUI.QualityBox.setChecked(False)
|
GUI.QualityBox.setChecked(False)
|
||||||
GUI.MangaBox.setEnabled(False)
|
GUI.MangaBox.setEnabled(False)
|
||||||
GUI.MangaBox.setChecked(False)
|
GUI.MangaBox.setChecked(False)
|
||||||
self.addMessage('If images will be too dark after conversion: Set <i>Gamma</i> to 1.0.', 'info')
|
|
||||||
else:
|
else:
|
||||||
if not GUI.ProcessingBox.isChecked():
|
if not GUI.ProcessingBox.isChecked():
|
||||||
GUI.NoRotateBox.setEnabled(True)
|
GUI.NoRotateBox.setEnabled(True)
|
||||||
|
|||||||
+1
-3
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'KCC.ui'
|
# Form implementation generated from reading ui file 'KCC.ui'
|
||||||
#
|
#
|
||||||
# Created: Tue Nov 12 14:31:48 2013
|
# Created: Wed Dec 04 18:28:13 2013
|
||||||
# by: PyQt4 UI code generator 4.10.3
|
# by: PyQt4 UI code generator 4.10.3
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING! All changes made in this file will be lost!
|
||||||
@@ -305,9 +305,7 @@ class Ui_KCC(object):
|
|||||||
self.RotateBox.setText(_translate("KCC", "Horizontal mode", None))
|
self.RotateBox.setText(_translate("KCC", "Horizontal mode", None))
|
||||||
self.BasicModeButton.setText(_translate("KCC", "Basic", None))
|
self.BasicModeButton.setText(_translate("KCC", "Basic", None))
|
||||||
self.AdvModeButton.setText(_translate("KCC", "Advanced", None))
|
self.AdvModeButton.setText(_translate("KCC", "Advanced", None))
|
||||||
self.GammaLabel.setToolTip(_translate("KCC", "When converting color images setting this option to 1.0 MIGHT improve readability.", None))
|
|
||||||
self.GammaLabel.setText(_translate("KCC", "Gamma: Auto", None))
|
self.GammaLabel.setText(_translate("KCC", "Gamma: Auto", None))
|
||||||
self.GammaSlider.setToolTip(_translate("KCC", "<html><head/><body><p>When converting color images setting this option to 1.0 <span style=\" font-weight:600;\">might</span> improve readability.</p></body></html>", None))
|
|
||||||
self.ColorBox.setToolTip(_translate("KCC", "Do not convert images to grayscale.", None))
|
self.ColorBox.setToolTip(_translate("KCC", "Do not convert images to grayscale.", None))
|
||||||
self.ColorBox.setText(_translate("KCC", "Color mode", None))
|
self.ColorBox.setText(_translate("KCC", "Color mode", None))
|
||||||
self.wLabel.setToolTip(_translate("KCC", "Resolution of target device.", None))
|
self.wLabel.setToolTip(_translate("KCC", "Resolution of target device.", None))
|
||||||
|
|||||||
+1
-3
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'KCC-Linux.ui'
|
# Form implementation generated from reading ui file 'KCC-Linux.ui'
|
||||||
#
|
#
|
||||||
# Created: Tue Nov 12 14:32:11 2013
|
# Created: Wed Dec 04 18:27:52 2013
|
||||||
# by: PyQt4 UI code generator 4.10.3
|
# by: PyQt4 UI code generator 4.10.3
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING! All changes made in this file will be lost!
|
||||||
@@ -374,9 +374,7 @@ class Ui_KCC(object):
|
|||||||
self.RotateBox.setText(_translate("KCC", "Horizontal mode", None))
|
self.RotateBox.setText(_translate("KCC", "Horizontal mode", None))
|
||||||
self.BasicModeButton.setText(_translate("KCC", "Basic", None))
|
self.BasicModeButton.setText(_translate("KCC", "Basic", None))
|
||||||
self.AdvModeButton.setText(_translate("KCC", "Advanced", None))
|
self.AdvModeButton.setText(_translate("KCC", "Advanced", None))
|
||||||
self.GammaLabel.setToolTip(_translate("KCC", "<html><head/><body><p>When converting color images setting this option to 1.0 <span style=\" font-weight:600;\">might</span> improve readability.</p></body></html>", None))
|
|
||||||
self.GammaLabel.setText(_translate("KCC", "Gamma: Auto", None))
|
self.GammaLabel.setText(_translate("KCC", "Gamma: Auto", None))
|
||||||
self.GammaSlider.setToolTip(_translate("KCC", "<html><head/><body><p>When converting color images setting this option to 1.0 <span style=\" font-weight:600;\">might</span> improve readability.</p></body></html>", None))
|
|
||||||
self.ColorBox.setToolTip(_translate("KCC", "Do not convert images to grayscale.", None))
|
self.ColorBox.setToolTip(_translate("KCC", "Do not convert images to grayscale.", None))
|
||||||
self.ColorBox.setText(_translate("KCC", "Color mode", None))
|
self.ColorBox.setText(_translate("KCC", "Color mode", None))
|
||||||
self.wLabel.setToolTip(_translate("KCC", "Resolution of target device.", None))
|
self.wLabel.setToolTip(_translate("KCC", "Resolution of target device.", None))
|
||||||
|
|||||||
+1
-3
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'KCC-OSX.ui'
|
# Form implementation generated from reading ui file 'KCC-OSX.ui'
|
||||||
#
|
#
|
||||||
# Created: Tue Nov 12 14:31:59 2013
|
# Created: Wed Dec 04 18:28:04 2013
|
||||||
# by: PyQt4 UI code generator 4.10.3
|
# by: PyQt4 UI code generator 4.10.3
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING! All changes made in this file will be lost!
|
||||||
@@ -392,9 +392,7 @@ class Ui_KCC(object):
|
|||||||
self.RotateBox.setText(_translate("KCC", "Horizontal mode", None))
|
self.RotateBox.setText(_translate("KCC", "Horizontal mode", None))
|
||||||
self.BasicModeButton.setText(_translate("KCC", "Basic", None))
|
self.BasicModeButton.setText(_translate("KCC", "Basic", None))
|
||||||
self.AdvModeButton.setText(_translate("KCC", "Advanced", None))
|
self.AdvModeButton.setText(_translate("KCC", "Advanced", None))
|
||||||
self.GammaLabel.setToolTip(_translate("KCC", "<html><head/><body><p><span style=\" font-size:12pt;\">When converting color images setting this option to 1.0 </span><span style=\" font-size:12pt; font-weight:600;\">might</span><span style=\" font-size:12pt;\"> improve readability.</span></p></body></html>", None))
|
|
||||||
self.GammaLabel.setText(_translate("KCC", "Gamma: Auto", None))
|
self.GammaLabel.setText(_translate("KCC", "Gamma: Auto", None))
|
||||||
self.GammaSlider.setToolTip(_translate("KCC", "<html><head/><body><p><span style=\" font-size:12pt;\">When converting color images setting this option to 1.0 </span><span style=\" font-size:12pt; font-weight:600;\">might</span><span style=\" font-size:12pt;\"> improve readability.</span></p></body></html>", None))
|
|
||||||
self.ColorBox.setToolTip(_translate("KCC", "<html><head/><body><p><span style=\" font-size:12pt;\">Do not convert images to grayscale.</span></p></body></html>", None))
|
self.ColorBox.setToolTip(_translate("KCC", "<html><head/><body><p><span style=\" font-size:12pt;\">Do not convert images to grayscale.</span></p></body></html>", None))
|
||||||
self.ColorBox.setText(_translate("KCC", "Color mode", None))
|
self.ColorBox.setText(_translate("KCC", "Color mode", None))
|
||||||
self.wLabel.setToolTip(_translate("KCC", "<html><head/><body><p><span style=\" font-size:12pt;\">Resolution of target device.</span></p></body></html>", None))
|
self.wLabel.setToolTip(_translate("KCC", "<html><head/><body><p><span style=\" font-size:12pt;\">Resolution of target device.</span></p></body></html>", None))
|
||||||
|
|||||||
+28
-1
@@ -214,6 +214,8 @@ class ComicPage:
|
|||||||
def optimizeImage(self, gamma):
|
def optimizeImage(self, gamma):
|
||||||
if gamma < 0.1:
|
if gamma < 0.1:
|
||||||
gamma = self.gamma
|
gamma = self.gamma
|
||||||
|
if self.gamma != 1.0 and self.isImageColor(self.image):
|
||||||
|
gamma = 1.0
|
||||||
if gamma == 1.0:
|
if gamma == 1.0:
|
||||||
self.image = ImageOps.autocontrast(self.image)
|
self.image = ImageOps.autocontrast(self.image)
|
||||||
else:
|
else:
|
||||||
@@ -519,4 +521,29 @@ class ComicPage:
|
|||||||
if fill > 0:
|
if fill > 0:
|
||||||
self.fill = 'black'
|
self.fill = 'black'
|
||||||
else:
|
else:
|
||||||
self.fill = 'white'
|
self.fill = 'white'
|
||||||
|
|
||||||
|
def isImageColor(self, image):
|
||||||
|
v = ImageStat.Stat(image).var
|
||||||
|
isMonochromatic = reduce(lambda x, y: x and y < 0.005, v, True)
|
||||||
|
if isMonochromatic:
|
||||||
|
# Monochromatic
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
if len(v) == 3:
|
||||||
|
maxmin = abs(max(v) - min(v))
|
||||||
|
if maxmin > 1000:
|
||||||
|
# Color
|
||||||
|
return True
|
||||||
|
elif maxmin > 100:
|
||||||
|
# Probably color
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
# Grayscale
|
||||||
|
return False
|
||||||
|
elif len(v) == 1:
|
||||||
|
# Black and white
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
# Detection failed
|
||||||
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user