本文整理汇总了Python中qgis.core.QgsSimpleLineSymbolLayer.setUseCustomDashPattern方法的典型用法代码示例。如果您正苦于以下问题:Python QgsSimpleLineSymbolLayer.setUseCustomDashPattern方法的具体用法?Python QgsSimpleLineSymbolLayer.setUseCustomDashPattern怎么用?Python QgsSimpleLineSymbolLayer.setUseCustomDashPattern使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsSimpleLineSymbolLayer
的用法示例。
在下文中一共展示了QgsSimpleLineSymbolLayer.setUseCustomDashPattern方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testSimpleLineUnitDefault
# 需要导入模块: from qgis.core import QgsSimpleLineSymbolLayer [as 别名]
# 或者: from qgis.core.QgsSimpleLineSymbolLayer import setUseCustomDashPattern [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')
示例2: testSimpleLineUnitPixel
# 需要导入模块: from qgis.core import QgsSimpleLineSymbolLayer [as 别名]
# 或者: from qgis.core.QgsSimpleLineSymbolLayer import setUseCustomDashPattern [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')
示例3: testSimpleLineWithCustomDashPattern
# 需要导入模块: from qgis.core import QgsSimpleLineSymbolLayer [as 别名]
# 或者: from qgis.core.QgsSimpleLineSymbolLayer import setUseCustomDashPattern [as 别名]
def testSimpleLineWithCustomDashPattern(self):
""" test that rendering a simple line symbol with custom dash pattern"""
layer = QgsSimpleLineSymbolLayer(QColor(0, 0, 0))
layer.setWidth(0.5)
layer.setCustomDashVector([2, 5])
layer.setUseCustomDashPattern(True)
symbol = QgsLineSymbol()
symbol.changeSymbolLayer(0, layer)
image = QImage(200, 200, QImage.Format_RGB32)
painter = QPainter()
ms = QgsMapSettings()
geom = QgsGeometry.fromWkt('LineString (0 0, 10 0, 10 10, 0 10, 0 0)')
f = QgsFeature()
f.setGeometry(geom)
extent = geom.constGet().boundingBox()
# buffer extent by 10%
extent = extent.buffered((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_simpleline_customdashpattern', 'simpleline_customdashpattern', image))