Merge pull request #86 from cbhaley/master

Improve quality of images manipulated by calibre. In particular improve ...
This commit is contained in:
Kovid Goyal 2013-09-16 01:28:25 -07:00
commit 510b887374
2 changed files with 4 additions and 4 deletions

View File

@ -738,14 +738,14 @@ def choose_images(window, name, title, select_only_single_file=True,
return fd.get_files()
return None
def pixmap_to_data(pixmap, format='JPEG'):
def pixmap_to_data(pixmap, format='JPEG', quality=90):
'''
Return the QPixmap pixmap as a string saved in the specified format.
'''
ba = QByteArray()
buf = QBuffer(ba)
buf.open(QBuffer.WriteOnly)
pixmap.save(buf, format)
pixmap.save(buf, format, quality=quality)
return bytes(ba.data())
class ResizableDialog(QDialog):

View File

@ -236,7 +236,7 @@ class ImageDropMixin(object): # {{{
def handle_image_drop(self, pmap):
self.set_pixmap(pmap)
self.cover_changed.emit(pixmap_to_data(pmap))
self.cover_changed.emit(pixmap_to_data(pmap, quality=100))
def dragMoveEvent(self, event):
event.acceptProposedAction()
@ -268,7 +268,7 @@ class ImageDropMixin(object): # {{{
if not pmap.isNull():
self.set_pixmap(pmap)
self.cover_changed.emit(
pixmap_to_data(pmap))
pixmap_to_data(pmap, quality=100))
# }}}
class ImageView(QWidget, ImageDropMixin): # {{{