convertコマンド

職業柄というかなんというか、epsファイルを取扱う事がよくあります。LaTeXで文書を書くときはまだeps形式の方が図の取り込み時に無難であったりするためです。一方、スライドを作る時はpng形式を好みます。そうするとepsをpngに変換する事がよくあったりするわけなんですが、


$ convert hoge.eps hoge.png

なんてやってしまうと、プレゼンにはあまり向かない解像度の低い画像になってしまったりします。PNGはもともとgifとjpegの両面をあわせもったタイプの形式でドロー系には強いのですが、それでも圧縮によるブロックノイズが気になります。圧縮率を下げれば解決するかというとそうでもなくて、EPSの中で非常に細い線がかかれていたりすると、変換時のDPI設定によりいくら圧縮率をさげたところで問題は解決しません。

結局DPIを変更しないといけないわけです。以前調べて変更方法を学んだとおもっていたのですが、すっかり忘れてしまいました。で、また調べて分かったので、健忘帳的にかいておきましょう。


$ convert -density N hoge.eps hoge.png

のように-densityオプションを使います。ここでNは数字で、たぶん既定値が100ですね。100%ということでしょうか。manをみてみると

ーdensity geometry horizontal and vertical density of the image

とあるので、ほんらいはgeometry を指定するようです。