本文整理汇总了Python中qgis.core.QgsMapRendererParallelJob.renderedImage方法的典型用法代码示例。如果您正苦于以下问题:Python QgsMapRendererParallelJob.renderedImage方法的具体用法?Python QgsMapRendererParallelJob.renderedImage怎么用?Python QgsMapRendererParallelJob.renderedImage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsMapRendererParallelJob
的用法示例。
在下文中一共展示了QgsMapRendererParallelJob.renderedImage方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: render_layer
# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import renderedImage [as 别名]
def render_layer(settings, layer, width, height):
settings.setLayers([layer.id()])
settings.setFlags(settings.flags() ^ QgsMapSettings.Antialiasing)
settings.setOutputSize(QSize(width, height))
job = QgsMapRendererParallelJob(settings)
job.start()
job.waitForFinished()
image = job.renderedImage()
# image.save(r"/media/nathan/Data/dev/qgis-term/{}.jpg".format(layer.name()))
return image
示例2: render
# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import renderedImage [as 别名]
def render(name, settings):
settings.setOutputSize(IMAGE_SIZE)
job = QgsMapRendererParallelJob(settings)
#job = QgsMapRendererSequentialJob(settings)
job.start()
job.waitForFinished()
image = job.renderedImage()
if not os.path.exists(image_path):
os.mkdir(image_path)
image.save(os.path.join(image_path, name + '.png'))
return job.renderingTime()
示例3: render
# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import renderedImage [as 别名]
def render(settings):
"""
Render the given settings to a image and save to disk.
name: The name of the final result file.
settings: QgsMapSettings containing the settings to render
exportpath: The folder for the images to be exported to.
"""
job = QgsMapRendererParallelJob(settings)
#job = QgsMapRendererSequentialJob(settings)
job.start()
job.waitForFinished()
image = job.renderedImage()
return image, job.renderingTime()
示例4: renderMapToImage
# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import renderedImage [as 别名]
def renderMapToImage(mapsettings, parallel=False):
"""
Render current map to an image, via multi-threaded renderer
:param QgsMapSettings mapsettings:
:param bool parallel: Do parallel or sequential render job
:rtype: QImage
"""
if parallel:
job = QgsMapRendererParallelJob(mapsettings)
else:
job = QgsMapRendererSequentialJob(mapsettings)
job.start()
job.waitForFinished()
return job.renderedImage()
示例5: render_qgis_map
# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import renderedImage [as 别名]
def render_qgis_map(self):
logging.info("Rendering QGIS map")
# Gross. Fix me
if not self.settings and project:
self.settings = project.map_settings
# TODO We should only get visible layers here but this will do for now
self.settings.setLayers(QgsMapLayerRegistry.instance().mapLayers().keys())
self.settings.setFlags(self.settings.flags() ^ QgsMapSettings.Antialiasing)
logging.info(self.settings.flags())
logging.info(self.settings.testFlag(QgsMapSettings.Antialiasing))
height, width = self.mapwin.getmaxyx()
logging.info("Setting output size to {}, {}".format(width, height))
self.settings.setOutputSize(QSize(width, height))
job = QgsMapRendererParallelJob(self.settings)
job.start()
job.waitForFinished()
image = job.renderedImage()
logging.info("Saving rendered image for checks...")
image.save(r"F:\dev\qgis-term\render.jpg")
return image