GMT PostScript から変換

GMT に限った話ではないが,PS ファイルから他の PDF や PNG の画像へ変換するとき.

psconvert

A は crop で -Tf は PDFへの変換を指す.

gmt psconvert -A -Tf test.ps

背景色(通常は白)つきの png にするときは

gmt psconvert -A -Tg test.ps

で,背景色なしで無色の部分を透過させる png は

gmt psconvert -A -TG test.ps


psconvert 以外

まず ps や eps は ps2pdf で PDF へ変換できる.
ただし,ghostscript のバージョンが GMT の依存関係とコマンドで異なるとエラーになって実行できないので要注意.
そのままだと A4 用紙サイズになって余白ができてしまうので,pdfcrop を使ってちょうど良いサイズにできる.

PDF 以外にしたいときは,この PDF を基本に imagemagick の convert でなんとかなる.
ベクターデータでない画像ファイルにする際,透過度を反映する場合は png に,色のグラデーションを明瞭にしたい時は jpg にした方が良いと思われる.

#!/bin/bash

output=test.ps

## plot
gmt psbasemap -JX10/8 -R0/100/0/80 -Bxa20f10+l"X" -Bya20f10+l"Y" -BneSW > $output

## convert
ps2pdf $output ${output//.ps/.pdf} # PDF
pdfcrop --margins '5 5 5 5' ${output//.ps/.pdf} && rm $output # PDF crop
convert -density 400 ${output//.ps/-crop.pdf} ${output//.ps/.png} && rm ${output//.ps/.pdf} # PDF to PNG

Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2021-05-07 (Fri) 10:40:35 (421d)