読者です 読者をやめる 読者になる 読者になる

どせいたんさき。

ナスダヨー

eps から png に変換するためのコマンド決定版

目的

gnuplot などで作成した postscript (eps) ファイルをプレゼンテーションの資料やホームページの画像として利用するためにラスタライズしたい.

方法

ghostscipt を利用する.以前も似たようなエントリを書いた.そのときは A4 サイズ(環境によっては letter サイズ)の領域にラスタライズされた画像がちょこんとのってしまうので ImageMagickmogrify というコマンドを使って余白を切り取る→適切なマージンを再設定という面倒な手順を踏んでいた.しかし,How to use Ghostscriptによれば ghostscript の EPSCrop というオプションを有効にすればこの面倒な手続きを省略できることがわかった.

というわけで前回のエントリに合わせて ps → png に変換する手続きを書くとしたら以下のようになる.マージンの情報がそのまま生きるのでとてもうれしい.ちょっと試してみたところ解像度は大きめでラスタライズしてから ImageMagick で適当な大きさにサイズ変更したほうが良さそうである.

#!/bin/bash -f

INFILE=${1?}
OUTFILE=${INFILE//eps/png}

GS="gs -dBATCH -dNOPAUSE -dEPSCrop -r600 -sDEVICE=png16m -sOutputFile=${OUTFILE}"

${GS} -f ${INFILE}