Пример #1
0
def createMapSettingsFromRenderContext(ctx, baseSettings=None):
  s = QgsMapSettings(baseSettings) if baseSettings else QgsMapSettings()
  transform = ctx.coordinateTransform()
  if transform:
    s.setCrsTransformEnabled(True)
    s.setDestinationCrs(transform.destCRS())
  s.setExtent(ctx.extent())
  s.setOutputDpi(ctx.scaleFactor() * 25.4)    # ref. QgsRenderContext::fromMapSettings
  if hasattr(ctx, "RenderMapTile"):
    s.setFlag(QgsMapSettings.RenderMapTile, ctx.testFlag(QgsRenderContext.RenderMapTile))
  if hasattr(ctx, "expressionContext"):
    s.setExpressionContext(ctx.expressionContext())
  return s