最近まで知らなかったのですが,GMT (Generic Mapping Tools) は eps あるいは ps 出力しかできない,これはそのとおりなのですが,GMT のコマンドで他形式ファイルに eps (ps) を変換できることを知りました.詳しくは以下の説明を.
psconvert — GMT 5.3.2 documentation - The Generic Mapping Tools
当方の環境は以下の通りです.
- MacBook Pro (Retina, 13-inch, Mid 2014)
- macOS High Sierra
- GMT 5.4.4
- ImageMagick 7.0.8
これまでは,GMT で出力した eps ファイルを ImageMagick を使って以下のように jpg に変換していました.
mogrify -trim -density 300 -bordercolor 'white' -border 10x10 -format jpg *.eps
これに対し,GMT のコマンドである psconvert を使うことにより,eps を jpg に変換できます.
使い方は,以下のような感じ.
-
$fn
に eps のファイル名を入れます. -
-Tj
で jpg に変換.デフォルトでは出力ファイル名は拡張子のみが変わるようです. -
-A
で余白削除. - 解像度の指定もできるようですが,デフォルトでは 300dpi のようです.
- 変換できる画像は,BMP, EPS, JPEG, PDF, PNG, PPM, SVG, TIFF ということです.
f1=fig_gmt_cont1.eps
f2=fig_gmt_cont2.eps
f3=fig_gmt_cont3.eps
f4=fig_gmt_vect1.eps
f5=fig_gmt_vect2.eps
f6=fig_gmt_disp0.eps
for fn in $f1 $f2 $f3 $f4 $f5 $f6
do
gmt psconvert $fn -Tj -A
done
こんな使い方もできます.上記スクリプトと同じ結果が得られます.
f1=fig_gmt_cont1.eps
f2=fig_gmt_cont2.eps
f3=fig_gmt_cont3.eps
f4=fig_gmt_vect1.eps
f5=fig_gmt_vect2.eps
f6=fig_gmt_disp0.eps
gmt psconvert $f1 $f2 $f3 $f4 $f5 $f6 -Tj -A
フォルダ内のepsを一挙に処理する場合はこれか.
for fn in *.eps
do
gmt psconvert $fn -Tj -A
done
gmt psconvert
の良いところは...
- ImageMagickの
mgrify -trim
で 16 秒かかる変換作業が,gmt psconvert
では 5 秒で完了します.これは処理が必要な手持ちファイルでの試行結果ですが,おそらく ImageMagick より早い! - また GMT で eps 出力した後 ImageMagick を呼び出して処理していたのが,余白処理+ファイル変換を全て GMT コマンドできるところが気持ちがいい.
便利です.これからはこれを使おう.
以 上