mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Merge pull request #86 from cbhaley/master
Improve quality of images manipulated by calibre. In particular improve ...
This commit is contained in:
commit
510b887374
@ -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):
|
||||
|
@ -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): # {{{
|
||||
|
Loading…
x
Reference in New Issue
Block a user