Skip to content

Commit

Permalink
use screen dpi for OpenLayers image when printing
Browse files Browse the repository at this point in the history
  • Loading branch information
mwa committed Apr 13, 2012
1 parent 464e4d0 commit 6ce1a2a
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions openlayers/openlayers_layer.py
Expand Up @@ -127,8 +127,8 @@ def render(self, rendererContext):

olSize = rendererContext.painter().viewport().size()
if rendererContext.painter().device().logicalDpiX() != int(self.iface.mapCanvas().mapRenderer().outputDpi()):
#use calculated size when printing
sizeFact = 72 / 25.4 / rendererContext.mapToPixel().mapUnitsPerPixel() #OL DPI is 72
# use screen dpi for printing
sizeFact = self.iface.mapCanvas().mapRenderer().outputDpi() / 25.4 / rendererContext.mapToPixel().mapUnitsPerPixel()
olSize.setWidth(rendererContext.extent().width() * sizeFact)
olSize.setHeight(rendererContext.extent().height() * sizeFact)
qDebug(" olSize: %d, %d" % (olSize.width(), olSize.height()) )
Expand Down Expand Up @@ -177,7 +177,7 @@ def render(self, rendererContext):
#Render WebKit page into rendererContext
rendererContext.painter().save()
if rendererContext.painter().device().logicalDpiX() != int(self.iface.mapCanvas().mapRenderer().outputDpi()):
printScale = 25.4 / 72 # OL DPI to printer pixels
printScale = 25.4 / self.iface.mapCanvas().mapRenderer().outputDpi() # OL DPI to printer pixels
rendererContext.painter().scale(printScale, printScale)

# render OpenLayers to image
Expand Down

0 comments on commit 6ce1a2a

Please sign in to comment.