本文整理汇总了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))
示例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')
示例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')