From 86135682a78d3f135c156096d504f69dfe30ec43 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 30 Sep 2016 16:53:24 +0530 Subject: [PATCH] Fix high dpi rendering in the customize cover generation dialog --- src/calibre/gui2/covers.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/covers.py b/src/calibre/gui2/covers.py index f4229ed7c5..d47727513e 100644 --- a/src/calibre/gui2/covers.py +++ b/src/calibre/gui2/covers.py @@ -458,7 +458,8 @@ class CoverSettingsWidget(QWidget): def update_preview(self): if self.ignore_changed: return - w, h = self.preview_label.sizeHint().width(), self.preview_label.sizeHint().height() + dpr = getattr(self, 'devicePixelRatioF', self.devicePixelRatio)() + w, h = int(dpr * self.preview_label.sizeHint().width()), int(dpr * self.preview_label.sizeHint().height()) prefs = self.prefs_for_rendering hr = h / prefs['cover_height'] for x in ('title', 'subtitle', 'footer'): @@ -466,6 +467,7 @@ class CoverSettingsWidget(QWidget): prefs[attr] = int(prefs[attr] * hr) prefs['cover_width'], prefs['cover_height'] = w, h img = generate_cover(self.mi, prefs=prefs, as_qimage=True) + img.setDevicePixelRatio(dpr) self.preview_label.setPixmap(QPixmap.fromImage(img)) def default_mi(self):