def saveSymbolLayerSprite(symbolLayer): sl = symbolLayer.clone() if isinstance(sl, QgsSVGFillSymbolLayer): patternWidth = sl.patternWidth() color = sl.svgFillColor() outlineColor = sl.svgOutlineColor() sl = QgsSvgMarkerSymbolLayer(sl.svgFilePath()) sl.setFillColor(color) sl.setOutlineColor(outlineColor) sl.setSize(patternWidth) sl.setOutputUnit(QgsSymbol.Pixel) sl2x = sl.clone() try: sl2x.setSize(sl2x.size() * 2) except AttributeError: return None, None newSymbol = QgsMarkerSymbol() newSymbol.appendSymbolLayer(sl) newSymbol.deleteSymbolLayer(0) newSymbol2x = QgsMarkerSymbol() newSymbol2x.appendSymbolLayer(sl2x) newSymbol2x.deleteSymbolLayer(0) img = newSymbol.asImage(QSize(sl.size(), sl.size())) img2x = newSymbol2x.asImage(QSize(sl2x.size(), sl2x.size())) return img, img2x
def testSvgMarkerUnitPixels(self): symbol = QgsSvgMarkerSymbolLayer('symbols/star.svg', 10, 0) symbol.setOffset(QPointF(5, 10)) symbol.setOutputUnit(QgsUnitTypes.RenderPixels) dom, root = self.symbolToSld(symbol) # print("Svg marker unit px: " + dom.toString()) # Check the size has not been rescaled self.assertStaticSize(root, '10') self.assertStaticDisplacement(root, 5, 10)
def testSvgMarkerUnitPixels(self): symbol = QgsSvgMarkerSymbolLayer('symbols/star.svg', 10, 0) symbol.setOffset(QPointF(5, 10)) symbol.setOutputUnit(QgsUnitTypes.RenderPixels) dom, root = self.symbolToSld(symbol) # print("Svg marker unit px: " + dom.toString()) # Check the size has not been rescaled self.assertStaticSize(root, '10') self.assertStaticDisplacement(root, 5, 10)
def testSvgMarkerUnitPixels(self): symbol = QgsSvgMarkerSymbolLayer('symbols/star.svg', 10, 0) symbol.setFillColor(QColor("blue")) symbol.setStrokeWidth(1) symbol.setStrokeColor(QColor('red')) symbol.setPath('symbols/star.svg') symbol.setOffset(QPointF(5, 10)) symbol.setOutputUnit(QgsUnitTypes.RenderPixels) dom, root = self.symbolToSld(symbol) # print("Svg marker unit px: " + dom.toString()) self.assertExternalGraphic(root, 0, 'symbols/star.svg?fill=%230000ff&fill-opacity=1&outline=%23ff0000&outline-opacity=1&outline-width=1', 'image/svg+xml') self.assertExternalGraphic(root, 1, 'symbols/star.svg', 'image/svg+xml') self.assertWellKnownMark(root, 0, 'square', '#0000ff', '#ff0000', 1) # Check the size has not been rescaled self.assertStaticSize(root, '10') self.assertStaticDisplacement(root, 5, 10)
def testSvgMarkerUnitPixels(self): symbol = QgsSvgMarkerSymbolLayer('symbols/star.svg', 10, 0) symbol.setFillColor(QColor("blue")) symbol.setStrokeWidth(1) symbol.setStrokeColor(QColor('red')) symbol.setPath('symbols/star.svg') symbol.setOffset(QPointF(5, 10)) symbol.setOutputUnit(QgsUnitTypes.RenderPixels) dom, root = self.symbolToSld(symbol) # print("Svg marker unit px: " + dom.toString()) self.assertExternalGraphic(root, 0, 'symbols/star.svg?fill=%230000ff&fill-opacity=1&outline=%23ff0000&outline-opacity=1&outline-width=1', 'image/svg+xml') self.assertExternalGraphic(root, 1, 'symbols/star.svg', 'image/svg+xml') self.assertWellKnownMark(root, 0, 'square', '#0000ff', '#ff0000', 1) # Check the size has not been rescaled self.assertStaticSize(root, '10') self.assertStaticDisplacement(root, 5, 10)