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()
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()
def renderMapToImageWithTime(mapsettings, parallel=False, cache=None): """ 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) if cache: job.setCache(cache) job.start() job.waitForFinished() return (job.renderedImage(), job.renderingTime())