psconvert

官方文档:

psconvert

简介:

将 GMT 生成的 PS/EPS 文件转换为其它图片格式

psconvert 模块通过调用 Ghostscript 将 PS/EPS 文件转换为其它图片格式,包括BMP、EPS、JPEG、PDF、PNG、PPM、SVG、TIFF 格式。

语法

gmt psconvert psfile(s) [ -A[+r][+u] ] [ -Cgs_option ] [ -Doutdir ] [ -Eresolution ] [ -Fout_name ] [ -Gghost_path ] [ -Hfactor ] [ -I[+mmargins][+s[m]width[/height]][+Sscale] ] [ -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[+r][+u]

根据图片内容的大小对画布做裁剪

  • +r 使得在计算图片大小时使用 round 函数而不是 ceil 函数,这会对裁剪造成极其微小的区别,仅当要处理非常小的图片时才需要使用。

  • +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[+mmargins][+s[m]width[/height]][+Sscale]

默认情况下,转换得到的图片的大小由 PS 文件的纸张尺寸决定。通常画图的时候是不会把一张A4纸画满的,所以在图片周围就会出现多余的白色部分。

-A 选项会对 PS 文件进行裁剪,仅保留其中有绘图的部分,即裁去白边:

gmt psconvert -A test.ps

默认的裁剪方式会将图片裁剪到尽可能小。如果想要图片周围有额外的白色区域,可以使用 +mmargins 指定额外的空白量。其中 margins 可以取:

  • 一个数,表示四条边的额外边距相同,如 -I+m0.5c

  • 两个数字,表示分别指定X和Y方向的额外边距,如 -I+m0.5c/1c

  • 四个数字,表示分别指定左右下上四条边的边距,如 -I+m0.5c/0.5c/0.5c/0.5c

-I+s 可以直接指定最终图片的尺寸:

  • -I+swidth 指定最终生成的图片的宽度,高度自动决定。程序会对图片做插值以保证 -E 设置的DPI值

  • -I+Sscale 指定图片的缩放比例

  • -I+smwidth/height 设置图片所允许的最大尺寸。若原始图片的宽度不大于 width 则使用图片的原始尺寸,height 同理。

-Llistfile

listfile 中列出要转换的所有PS文件名

-Mb|fpslayer

将 PS 文件 pslayer 作为背景或前景 PS 图层。

-N[+ffade][+gpaint][+i][+p[pen]]

为裁剪后的图片增加填充色、阴影以及绘制边框

  • +ffade 为整张图添加阴影。fade 取值为0到100,默认值为0

  • +gpaint 为图片增加背景填充色

  • +ppen 绘制图片边框,并指定画笔属性,默认画笔为 0.25p,black

  • +i 将图片转换为灰度图

-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;

说明:

  • gG 的区别在于前者背景色为白色,后者背景色为透明;

  • 对于 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参数的值,可重复多次使用。参数列表见 配置参数