LoginSignup
40
32

More than 5 years have passed since last update.

ImageMagickでepsファイルを作成

Last updated at Posted at 2015-12-10

普段、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

ここまで変わるのは驚きでした。

40
32
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
32