普段、epsファイルを作成するときにImageMagicを利用している。
jpgファイルをepsファイルに変換したときにファイルサイズが膨れ上がってしまったので、その対策を備忘録として。
ImageMagickのインストール
これは簡単に。
ubuntuなら、
apt-get install imagemagick
OSXなら、
brew install imagemagick
公式サイトからソースをダウンロードしてインストールしてもOK
ま、テキトーにインストールしてください
epsへの変換
ImageMagickがインストールされていれば、convertコマンドが使えるのでそれで変換。
convert sample.jpg sample.eps
これでjpgファイルからepsファイルへの変換ができる。
convertコマンドにはいろいろとオプションがあって、様々な処理ができますが、それはこの記事の対象外なので省略(そのうちまとめたい...)
で、ここで問題が...
epsのファイルサイズが異様に大きくなってる...!!!
ls -lh
-rw-r--r-- 1 tdrk staff 181K 12 11 00:19 sample.eps
-rw-------@ 1 tdrk staff 16K 12 11 00:17 sample.jpg
ファイルサイズが10倍とか、いろいろマズいじゃん...
別のファイルを変換してみたところ、10倍とは甘いものでもっと肥大化したファイルができあがる場合も...
convertコマンドのhelpから...
というわけで、何か対処法がないかと探してみた。
convertコマンドのhelpを見てみると、最後にこんなことが書いてある。
convert -help
By default, the image format of `file' is determined by its magic
number. To specify a particular image format, precede the filename
with an image format name and a colon (i.e. ps:image) or specify the
image type as the filename suffix (i.e. image.ps).
- ファイル名の前にフォーマットとコロンをつける
- ファイル名の接尾辞で指定
このどちらかでフォーマットを指定してあげればいいのかな。
ただ、後者はすでにやってるので前者を試してみる。
convert sample.jpg eps:sample2.eps
la -lh
-rw-r--r-- 1 tdrk staff 181K 12 11 00:19 sample.eps
-rw-------@ 1 tdrk staff 16K 12 11 00:17 sample.jpg
-rw-r--r-- 1 tdrk staff 181K 12 11 00:29 sample2.eps
んー、うまくいかない。
ファイル肥大化への対処法
調べてみたら先人がいた -> こちらの記事
セミコロンの前に書くの、eps
じゃなくてeps2
だったのか...!
というわけで、次のように変換するとファイルサイズの肥大化が防げます。
convert sample.jpg eps2:sample2.eps
ls -lh
-rw-r--r-- 1 tdrk staff 181K 12 11 00:19 sample.eps
-rw-------@ 1 tdrk staff 16K 12 11 00:17 sample.jpg
-rw-r--r-- 1 tdrk staff 19K 12 11 00:29 sample2.eps
ここまで変わるのは驚きでした。