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


Python QgsSimpleLineSymbolLayer.setOffset方法代码示例

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


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

示例1: testSimpleLineWithOffset

# 需要导入模块: from qgis.core import QgsSimpleLineSymbolLayer [as 别名]
# 或者: from qgis.core.QgsSimpleLineSymbolLayer import setOffset [as 别名]
    def testSimpleLineWithOffset(self):
        """ test that rendering a polygon with simple line symbol with offset results in closed line"""
        layer = QgsSimpleLineSymbolLayer()
        layer.setOffset(-1)

        symbol = QgsFillSymbol()
        symbol.changeSymbolLayer(0, layer)

        image = QImage(200, 200, QImage.Format_RGB32)
        painter = QPainter()
        ms = QgsMapSettings()

        geom = QgsGeometry.fromWkt('Polygon((0 0, 10 0, 10 10, 0 10, 0 0))')
        f = QgsFeature()
        f.setGeometry(geom)

        extent = geom.geometry().boundingBox()
        # buffer extent by 10%
        extent = extent.buffer((extent.height() + extent.width()) / 20.0)

        ms.setExtent(extent)
        ms.setOutputSize(image.size())
        context = QgsRenderContext.fromMapSettings(ms)
        context.setPainter(painter)
        context.setScaleFactor(96 / 25.4)  # 96 DPI

        painter.begin(image)
        image.fill(QColor(255, 255, 255))

        symbol.startRender(context)
        symbol.renderFeature(f, context)
        symbol.stopRender(context)
        painter.end()

        self.assertTrue(self.imageCheck('symbol_layer', 'fill_simpleline_offset', image))
开发者ID:wongjimsan,项目名称:QGIS,代码行数:37,代码来源:test_qgsfillsymbollayers.py

示例2: testSimpleLineUnitDefault

# 需要导入模块: from qgis.core import QgsSimpleLineSymbolLayer [as 别名]
# 或者: from qgis.core.QgsSimpleLineSymbolLayer import setOffset [as 别名]
    def testSimpleLineUnitDefault(self):
        symbol = QgsSimpleLineSymbolLayer(QColor("black"), 1)
        symbol.setCustomDashVector([10, 10])
        symbol.setUseCustomDashPattern(True)
        symbol.setOffset(5)
        dom, root = self.symbolToSld(symbol)

        # print ("Simple line px: \n" + dom.toString())

        self.assertStrokeWidth(root, 1, 4)
        self.assertDashPattern(root, 4, '36 36')
        self.assertStaticPerpendicularOffset(root, '18')
开发者ID:rskelly,项目名称:QGIS,代码行数:14,代码来源:test_qgssymbollayer_createsld.py

示例3: testSimpleLineUnitPixel

# 需要导入模块: from qgis.core import QgsSimpleLineSymbolLayer [as 别名]
# 或者: from qgis.core.QgsSimpleLineSymbolLayer import setOffset [as 别名]
    def testSimpleLineUnitPixel(self):
        symbol = QgsSimpleLineSymbolLayer(QColor("black"), 1)
        symbol.setCustomDashVector([10, 10])
        symbol.setUseCustomDashPattern(True)
        symbol.setOffset(5)
        symbol.setOutputUnit(QgsUnitTypes.RenderPixels)
        dom, root = self.symbolToSld(symbol)

        # print ("Simple line px: \n" + dom.toString())

        self.assertStrokeWidth(root, 1, 1)
        self.assertDashPattern(root, 4, '10 10')
        self.assertStaticPerpendicularOffset(root, '5')
开发者ID:rskelly,项目名称:QGIS,代码行数:15,代码来源:test_qgssymbollayer_createsld.py


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