Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

ImageMagick というか convert

ベクタイメージ(というか EPS ファイル)をラスタイメージに変換したい場合、当然、解像度を指定しないと思い通りの画像にはなりません。

convert -density 120x120 hoge.eps hoge.png 

-density に続けて横方向、縦方向の解像度を指定。単位は dpi で、デフォルトは 72。

また、Tgif なんかで描いた図を変換したい場合は、そのままだと画像ファイルの端が図の端として認識されてしまいます。マージンというか、パディングというか、枠をつけるというか、そういうことをしたい場合。

convert -border 15x15 -bordercolor rgb:ff/ff/ff hoge.png hoge.bmp 

-border に続けて枠線の縦・横太さを指定。-bordercolor に続けて枠線の色を指定。色は /usr/X11R6/lib/X11/rgb.txt あたりに書かれている名前を指定するか、rgb:RR/GG/BB の形式で指定する。


まぁ例えばこんな感じになります。

$ for i in *.obj;
> do
>   tgif -print -eps $i
>   convert -density 120x120 -border 15x15 -bordercolor rgb:ff/ff/ff \
>           `basename $i .obj`.eps `basename $i .obj`.png
> done