どせいたんさき。

ナスダヨー

png や jpeg といった画像ファイルを eps ファイルに変換したい

目的

PNGJPEG 形式で作成した画像ファイルを LaTeX の文章で使用したい.つまり EPS 形式に変換したい.

解決方法

pngtopnm, jpegtopnm を使用して pnm ファイルに変換したあとで pnmtops を使用する.例えば hoge.png という PNG 画像ファイルを fuga.eps という EPS ファイルに変換したい場合には以下のように入力する.

pngtopnm ./hoge.png | pnmtops -noturn -equalpixels > fuga.eps

manpage によると pnmtops は Encapsuled PS として出力してくれるらしい.-noturn をつけておくと画像の方向を固定できる.これをつけておかないと横長の画像が勝手に 90 度回転したりする.また -equalpixels をつけておけばピクセル数を保存して変換してくれる.あまり重要ではないかもしれないがつけておいたほうが安心かもしれない.

余談

fitstopnm というコマンドもあるので FITS 画像を変換することもできる.ただし BITPIX=-64 のファイルはきちんと読み込めていないようだ.なお PostScript に変換するときには 8-bit までしか許されない.別のソフト (ds9 など) を使用して PNG, JPEG 形式の画像を作成してから変換したほうがよさそう.