在QGIS中控制图像输出设置?


19

我正在将QGIS地图导出为图像格式。我想控制图像(dpi)的输出设置,因为目前它仅以96 dpi的速度导出图像。

有人知道这是否可能吗?


仅当使用的宽度/高度值小于屏幕分辨率(显示)时,命令快照才起作用。如果不是,则QGIS将添加一个空白区域以制作更高分辨率的图像。我使用命令正确吗?尝试使用,例如,--height 4096 --width 4096
user1717649

欢迎使用GIS SE!因为您说“我使用命令正确吗?” 我想知道您是否在问另一个问题,只是回答这个问题还是要发表评论。请问您是否可以编辑答案以使答案更清楚?
PolyGeo

Answers:


21

当前,无法使用“另存为图像”来调整输出图像的分辨率。

要创建高分辨率输出,必须使用Print Composer。

在QGIS 3中,可以使用“ 将地图导出到图像”来控制范围和分辨率


还有一种获取世界文件的高分辨率图像的方法:使用QGIS从命令行中,您可以选择创建任何大小的PNG,包括世界文件。

可用的选项有:

[--snapshot filename] emit snapshot of loaded datasets to given file
[--width width] width of snapshot to emit
[--height height] height of snapshot to emit
[--project projectfile] load the given QGIS project
[--extent xmin,ymin,xmax,ymax] set initial map extent

您必须先准备项目,然后创建快照。

例如。

C:\Users\MyUser\QGis_Projects>qgis --snapshot italy.png --width 1500 --height 1000 --project italy.qgs

谢谢回答。这种方式可以满足我的需求。遗憾的是,它不以这种方式导出世界文件。
詹姆斯·S

我的项目文件中有googlemap作为附加层。使用上面的命令行选项,我可以渲染其他图层,但不能渲染googlemap图层。它不缓存googlemap。我没有针对其他WMS进行测试。
2011年

@maning:您可能想在trac.osgeo.org/qgis上发布错误报告。
昏暗

这是一个已知的问题,不幸的是,第3方插件未保留在核心中。我将尝试与插件作者联系。
maning 2011年

我在使用Print Composer和插件(RT SQL层)时遇到麻烦。这是一个普遍的问题吗?(尤其是标签完全失控)
Antonin

10

如果您愿意在最新版本的QGIS中使用打印编辑器,则以所需的分辨率获得像样的地图图像相对容易。

首先,在常规编辑窗口中使地图或多或少看起来像您想要的样子,然后从“项目”菜单中单击“新建打印编辑器”。

打开打印作曲家

打开打印编辑器后,使用“添加新地图”按钮(下图中的1),然后在页面上拖动以创建新地图(如果需要特定尺寸,还可以更改画布尺寸或长宽比)。请记住,地图周围的任何空白都会在您的图像中呈现,因此您可能需要将地图拉伸到画布的边缘,甚至稍微延伸。如果地图未正确居中,则可以使用“移动项目内容”按钮(在图像中“添加新地图”按钮上方)来移动地图。如果需要放大和缩小,可以在“项目属性”选项卡中设置比例。

在此处输入图片说明

地图正确显示后,您可以在“组成”选项卡(上图中的2)中设置所需的分辨率。如果需要特定尺寸的输出图像(例如800x600像素),一个技巧是将画布的尺寸设置为以英寸为单位的自定义值,然后操纵分辨率以获取正确的图像尺寸。因此,要获得800x600分辨率的输出图像,您需要将8x6英寸画布的分辨率设置为100dpi。要输出图像,请单击“导出为图像”按钮(上方3),然后以所需格式保存。

最后,如果需要对输出文件进行地理参考,请选中“组成”选项卡中的“世界上的文件”复选框(在上图的2位以下),世界文件将与您的图像一起保存。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.