Fix #1631 (Cover Image from epub cut in half)

This commit is contained in:
Kovid Goyal 2009-01-17 14:23:10 -08:00
parent ad04058c24
commit 25a176ec0e

View File

@ -103,8 +103,8 @@ class OCFDirReader(OCFReader):
return open(os.path.join(self.root, path), *args, **kwargs) return open(os.path.join(self.root, path), *args, **kwargs)
class CoverRenderer(QObject): class CoverRenderer(QObject):
WIDTH = 1280 WIDTH = 600
HEIGHT = 1024 HEIGHT = 800
def __init__(self, url, size, loop): def __init__(self, url, size, loop):
QObject.__init__(self) QObject.__init__(self)
@ -113,7 +113,7 @@ class CoverRenderer(QObject):
pal = self.page.palette() pal = self.page.palette()
pal.setBrush(QPalette.Background, Qt.white) pal.setBrush(QPalette.Background, Qt.white)
self.page.setPalette(pal) self.page.setPalette(pal)
self.page.setViewportSize(QSize(600, 800)) self.page.setViewportSize(QSize(self.WIDTH, self.HEIGHT))
self.page.mainFrame().setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff) self.page.mainFrame().setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff)
self.page.mainFrame().setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff) self.page.mainFrame().setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff)
QObject.connect(self.page, SIGNAL('loadFinished(bool)'), self.render_html) QObject.connect(self.page, SIGNAL('loadFinished(bool)'), self.render_html)
@ -126,9 +126,9 @@ class CoverRenderer(QObject):
try: try:
if not ok: if not ok:
return return
size = self.page.mainFrame().contentsSize() #size = self.page.mainFrame().contentsSize()
width, height = fit_image(size.width(), size.height(), self.WIDTH, self.HEIGHT)[1:] #width, height = fit_image(size.width(), size.height(), self.WIDTH, self.HEIGHT)[1:]
self.page.setViewportSize(QSize(width, height)) #self.page.setViewportSize(QSize(width, height))
image = QImage(self.page.viewportSize(), QImage.Format_ARGB32) image = QImage(self.page.viewportSize(), QImage.Format_ARGB32)
image.setDotsPerMeterX(96*(100/2.54)) image.setDotsPerMeterX(96*(100/2.54))
image.setDotsPerMeterY(96*(100/2.54)) image.setDotsPerMeterY(96*(100/2.54))