| | |
| | | from qgis.PyQt.QtWidgets import * |
| | | from qgis.PyQt.QtXml import * |
| | | |
| | | |
| | | def finished(): |
| | | img = render.renderedImage() |
| | | # QgsProject.instance().homePath() |
| | | image_location = os.path.join("e:/", "render.png") |
| | | # save the image; e.g. img.save("/Users/myuser/render.png","png") |
| | | img.save(image_location, "png") |
| | | |
| | | |
| | | QgsApplication.setPrefixPath("C:/Program Files/QGIS 3.16/bin", True) |
| | | QgsApplication.setPrefixPath(r"C:/Program Files/QGIS 3.16/bin", True) |
| | | qgs = QgsApplication([], True) |
| | | qgs.initQgis() |
| | | |
| | | # vlayer = iface.activeLayer() |
| | | project = QgsProject.instance() |
| | | project.read(r'E:/data/1.Natural_Earth/Test.qgz') |
| | | project.read(r'E:/terrait/TianJin/LFServer/QGIS/Test.qgz') |
| | | print("FileName: " + project.fileName()) |
| | | |
| | | layers = project.mapLayers().values() |
| | | # layers = project.mapLayers().values() |
| | | # root = project.layerTreeRoot() |
| | | |
| | | # layout = QgsPrintLayout(project) |
| | | layout = QgsLayout(project) |
| | | layout.initializeDefaults() |
| | | |
| | | with open("E:/data/1.Natural_Earth/Layout.qpt", 'r', encoding='utf-8') as f: |
| | | with open(r"E:/terrait/TianJin/LFServer/QGIS/Template.qpt", 'r', encoding='utf-8') as f: |
| | | template_content = f.read() |
| | | doc = QDomDocument() |
| | | doc.setContent(template_content) |
| | | # doc = QDomDocument("E:/data/1.Natural_Earth/Layout.qpt") |
| | | # ele = layout.writeXml(doc, QgsReadWriteContext()) |
| | | # layout.readLayoutXml(ele, doc, QgsReadWriteContext()) |
| | | layout.loadFromTemplate(doc, QgsReadWriteContext(), False) |
| | | |
| | | map = QgsLayoutItemMap(layout) |
| | | # # map.zoomToExtent(layers[0].extent()) |
| | | layout.addItem(map) |
| | | # map = QgsLayoutItemMap(layout) |
| | | # map.zoomToExtent(layers[0].extent()) |
| | | # layout.addItem(map) |
| | | |
| | | # collection = layout.pageCollection() |
| | | # page = QgsLayoutItemPage(layout) |
| | |
| | | # layoutView.setContentsMargins(0, 0, 0, 0) |
| | | # layoutView.setCurrentLayout(layout) |
| | | |
| | | # project.layoutManager().addLayout(layout) |
| | | # map = QgsLayoutItemMap(layout) |
| | | # map.zoomToExtent(iface.mapCanvas().extent()) |
| | | |
| | | exporter = QgsLayoutExporter(layout) |
| | | img_path = os.path.join("E:/terrait/TianJin/LFServer/QGIS", "render.png") |
| | | img_path = os.path.join(r"E:/terrait/TianJin/LFServer/QGIS", "render.png") |
| | | exporter.exportToImage(img_path, QgsLayoutExporter.ImageExportSettings()) |
| | | |
| | | qgs.exitQgis() |