psconvert¶
- 官方文档
- 简介
将 GMT 生成的 PS/EPS 文件转换为其它图片格式
psconvert 模块通过调用 Ghostscript 将 PS/EPS 文件转换为其它图片格式,包括BMP、EPS、JPEG、PDF、PNG、PPM、SVG、TIFF 格式。
语法¶
gmt psconvert psfile(s) [ -Aparams ] [ -Cgs_option ] [ -Doutdir ] [ -Eresolution ] [ -Fout_name ] [ -Gghost_path ] [ -Hfactor ] [ -I ] [ -Llistfile ] [ -Mb|fpslayer ] [ -Q[g|p|t][1|2|4] ] [ -S ] [ -Tb|e|E|f|F|j|g|G|m|s|t[+m] ] [ -V[level] ] [ -Wparams ] [ -Z ] [ --PAR=value ]
必须选项¶
- psfiles
要转换格式的 PS 文件名
默认会在当前目录下生成与与原始PS文件相同文件名的新格式文件,文件后缀由文件格式决定。可以使用 -F 设置文件名,使用 -D 设置文件后缀。
可选选项¶
- -A[+gpaint][+mmargins][+n][+p[pen]][+r][+s[m]|Swidth[u]/height[u]][+u]
对输出的图片做裁边。
默认情况下,转换得到的图片的大小由PS文件的纸张尺寸决定。通常画图的时候是不会把一张A4纸画满的,所以在图片周围就会出现多余的白色部分。
-A 选项会对PS文件进行裁剪,仅保留其中有绘图的部分,即裁去白边:
gmt psconvert -A test.ps
默认的裁剪方式会将图片裁剪到尽可能小。如果想要图片周围有额外的白色区域,可以使用 +mmargins 指定额外的空白量。其中 margins 可以取:
一个数,表示四条边的额外边距相同,如
-A0.5c
两个数字,表示分别指定X和Y方向的额外边距,如
-A0.5c/1c
四个数字,表示分别指定左右下上四条边的边距,如
-A0.5c/0.5c/0.5c/0.5c
-A+s 可以直接指定最终图片的尺寸:
-A+swidth 指定最终生成的图片的宽度,高度自动决定。程序会对图片做插值以保证 -E 设置的DPI值
-A+Sscale 指定图片的缩放比例
-A+smwidth/height 设置图片所允许的最大尺寸。若原始图片的宽度不大于 width 则使用图片的原始尺寸,height 同理。
其它子选项:
-A+r 使得在计算图片大小时使用
round
函数而不是ceil
函数,这会对裁剪造成极其微小的区别,仅当要处理非常小的图片时才需要使用。-A+g<paint>
为BoundingBox指定填充色-A+p<pen>
为BoundingBox指定边框颜色,默认颜色为0.25p,black
+gpaint 为图片的BoundingBox指定背景填充色
+p[pen] 为图片的BoundingBox绘制边界 [若不指定 pen,则默认 0.25p,black]
+n 不做任何裁剪,以用于忽略到默认的裁剪设置
+u 先去掉GMT绘制的时间戳再裁剪
- -Cgs_option
额外传递给 Ghostscript 的选项
该选项用于在调用 Ghostscript 时传给 Ghostscript 额外的选项,若要额外给 Ghostscript增加多个选项,可重复使用 -C 命令。
在Windows下,若PS文件中含中文,则可能需要使用 -C 选项告诉Ghostscript字体路径:
gmt psconvert -C-sFONTPATH=C:\Windows\Fonts chinese.ps
- -Doutdir
设置输出目录
默认情况下,会在PS文件同一目录中生成其他图片文件,使用 -D 选项可以指定输出目录。-D. 表示在当前目录输出。
- -Edpi
设置图片精度
值越大,图片越清晰,文件也越大。PDF格式默认值为720,其他格式默认值为300,单位为dpi。
- -Fout_name
指定输出的文件名
默认使用使用输入的PS文件名,并修改其后缀作为输出文件的文件名。比如 test.ps 转换出的JPG格式的图片则为 test.jpg。
-F 选项可强制指定输出文件名,文件后缀由输出的文件格式自动决定。
- -Gghost_path
指定Ghostscript可执行文件的路径
psconvert 底层调用了 Ghostscript 来实现PS到其他格式的转换,因而成功转换的前提是必须能够找到 Ghostscript 的可执行文件。-G 选项即用于显式指定 ghostscript可执行文件的路径。
说明:
Linux下一般不需要设置Ghostscript的路径,除非你自己重新编译并安装到了非标准路径下
Windows下,一般也不需要使用该选项,程序会自动从注册表里获取路径信息
如果从注册表中获取路径失败,则必须使用 -G 选项指定路径,如
-GC:\programs\gs\gs9.02\bin\gswin64c
- -Hfactor
在生成光栅格式图片时,先将图片精度DPI提高 factor 倍,然后进行光栅化,再减采样 factor 倍,以此来提升光栅图片的平滑度,避免锯齿现象。
factor 越大,最终的光栅图片越平滑。但 factor 太大也会使得图片转换变慢。建议的取值范围是2到5。
- -I
Enforce gray-shades by using ICC profiles. Ghostscript versions >= 9.00 change gray-shades by using ICC profiles. Ghostscript 9.05 and above provide the ‘-dUseFastColor=true’ option to prevent that and that is what psconvert does by default, unless option -I is set. Note that for Ghostscript >= 9.00 and < 9.05 the gray-shade shifting is applied to all but PDF format. We have no solution to offer other than upgrade Ghostscript.
- -Llistfile
listfile 中列出要转换的所有PS文件名
- -Mb|fpslayer
将 PS 文件 pslayer 作为背景或前景 PS 图层。
- -P
强制转换后的图片为Portrait模式。
- -Q[g|p|t][1|2|4]
设置图片(g) 或文字(t) 的抗锯齿选项。
对于矢量格式,默认不做抗锯齿处理。对于光栅格式,默认参数为 -Qt4;对于透明PNG格式而言,默认参数是 -Qt4 -Qg2。
-Qp 表示打开生成GeoPDF开头(需要使用 -Tf 选项)。
- -S
在执行Ghostscript命令后,将具体的命令打印到标准错误流中,且保留转换过程中的所有临时文件。该选项主要用于调试。
- -Tb|e|E|f|F|j|g|G|m|s|t[+m]
指定要转换的图片格式。
可以取值:
b :BMP;
e :EPS;
E :带有PageSize命令的EPS;
f :PDF;
F :多页PDF;
j :JPEG(默认值);
g :PNG(不透明背景);
G :PNG(透明背景);
m :PPM;
s :SVG;
t :TIFF;
说明:
g 和 G 的区别在于前者背景色为白色,后者背景色为透明;
对于 bjgt 格式可以在其后加 +m 将PS文件转换为灰度图;
EPS格式可以与其他格式合在一起使用。比如 -Tef 会同时生成EPS和PDF文件。除此之外,该模块一次只能转换一种格式,比如 -Tbf 则只会生成PDF格式
-TF 会将多个PS/PDF文件转换并合并成一个多页的PDF文件,需要使用 -F 选项指定输出的文件名
转换为PDF格式:
gmt psconvert -Tf test.ps
利用一堆PS文件生成一个多页PDF:
gmt psconvert -TF -Fout *.ps
- -V[level] (more …)
设置 verbose 等级 [w]
- -W
生成geoTIFF或KML文件
该选项很复杂,见官方文档的说明。
- -Z
转换完成后删除输入的PS文件。若转换失败,输入的PS文件不会被删除。
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 gmt.conf