当前位置: 首页>>代码示例>>Python>>正文


Python QgsMapRendererParallelJob.waitForFinished方法代码示例

本文整理汇总了Python中qgis.core.QgsMapRendererParallelJob.waitForFinished方法的典型用法代码示例。如果您正苦于以下问题:Python QgsMapRendererParallelJob.waitForFinished方法的具体用法?Python QgsMapRendererParallelJob.waitForFinished怎么用?Python QgsMapRendererParallelJob.waitForFinished使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qgis.core.QgsMapRendererParallelJob的用法示例。


在下文中一共展示了QgsMapRendererParallelJob.waitForFinished方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: createImageParams

# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import waitForFinished [as 别名]
    def createImageParams():
      def finished():
        def addParams():
          def getJsonImages():
            vmap = {}
            for l in self.paramProcess['layerImages']:
              vmap[ l.name() ] = l.source()
            return json.dumps( vmap )

          e =  self.paramProcess['canvas'].extent()
          imgWidth, imgHeight = image.width(), image.height()
          resX, resY = e.width() / imgWidth, e.height() / imgHeight
          self.paramProcess['json_images'] = getJsonImages()
          self.paramProcess['crs_map'] = self.paramProcess['canvas'].mapSettings().destinationCrs().authid()
          self.paramProcess['extent_map'] = e.asWktCoordinates() # xMin, yMin, xMax, yMax
          self.paramProcess['res'] = { 'X': resX, 'Y': resY } 

        image = job.renderedImage()
        if bool( self.paramProcess['canvas'].property('retro') ):
          image = image.scaled( image.width() / 3, image.height() / 3 )
          image = image.convertToFormat( QImage.Format_Indexed8, Qt.OrderedDither | Qt.OrderedAlphaDither )
        image.save( self.paramProcess['pathfileImage'], "TIFF", 100 ) # 100: Uncompressed
        addParams()

      settings = QgsMapSettings( self.paramProcess['canvas'].mapSettings() )
      settings.setBackgroundColor( QColor( Qt.transparent ) )
      
      layers = self.paramProcess['layerImages']
      if 'layerPolygon' in self.paramProcess:
        layers = [ self.paramProcess['layerPolygon'] ] + layers
      settings.setLayers( layers )
      job = QgsMapRendererParallelJob( settings ) 
      job.start()
      job.finished.connect( finished) 
      job.waitForFinished()
开发者ID:lmotta,项目名称:gimpselectionfeature_plugin,代码行数:37,代码来源:gimpselectionfeature.py

示例2: render_layer

# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import waitForFinished [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
开发者ID:NathanW2,项目名称:ascii_qgis,代码行数:12,代码来源:ascii_qgis.py

示例3: setMap

# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import waitForFinished [as 别名]
  def setMap(self):
    def finished():
      super(SwipeMap, self).setContent( job.renderedImage(), self.canvas.extent() )

    settings = QgsMapSettings( self.canvas.mapSettings() )
    settings.setLayers( self.layers )
    
    job = QgsMapRendererParallelJob( settings) 
    job.start()
    job.finished.connect( finished) 
    job.waitForFinished()
开发者ID:picaosgeo,项目名称:mapswipetool_plugin,代码行数:13,代码来源:swipemap.py

示例4: render

# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import waitForFinished [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()
开发者ID:timlinux,项目名称:qgis2img,代码行数:13,代码来源:render.py

示例5: render

# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import waitForFinished [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()
开发者ID:wonder-sk,项目名称:qgis2img,代码行数:15,代码来源:render.py

示例6: renderMapToImage

# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import waitForFinished [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()
开发者ID:EmilyHueni,项目名称:Quantum-GIS,代码行数:17,代码来源:utilities.py

示例7: render_qgis_map

# 需要导入模块: from qgis.core import QgsMapRendererParallelJob [as 别名]
# 或者: from qgis.core.QgsMapRendererParallelJob import waitForFinished [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
开发者ID:luca76,项目名称:ascii_qgis,代码行数:23,代码来源:ascii_qgis.py


注:本文中的qgis.core.QgsMapRendererParallelJob.waitForFinished方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。