管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-11-07 5429333e590537ff241e442cedd40b2a5de9c7dd
QGIS/render.py
@@ -6,42 +6,30 @@
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)
@@ -53,12 +41,8 @@
# 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()