2008年5月16日金曜日

eps -> svg への変換

最初,出来ませんでした.
vistaでやってるんですがね

なんかGsviewを使って,pstoeditを使えば出来るとか聞いたのでやったんだけれど
svgへの出力がうまくいかない.
もちろんシェアじゃない方のplot-svgオプションを使ってもダメ.

で別の方法を探すことに…

Image-Magickっつう素敵ソフトを発見.

カラーepsをGrayscale epsにするのはこの方法で良さげ
Active perlがいるらしいんだけれどもね


> convert -type grayscale hoge.eps ika.eps


とすれば,カラーのhoge.epsがグレースケールのika.epsに
ただし,ベクトル図がラスタ図になってしまっている気がする.

んで,よくよく見ると
Image^magickのdpiサイズがデフォルトで72dpiらしく元の画像よりも少なくなっている
縮小の画像変換では,ラスタ図になるらしいので
dpiのサイズを大きめで保存


> convert -type grayscale -density 320 hoge.eps ika.eps


-density以下は,ざっくり320dpiとでも思えばよろしいんじゃないでしょうか.
サイズがでかい.
あたりまえだけれど….-densityの値はお好みで変えてください.

まぁ,これでカラーepsのグレースケール変換は簡単にできますよ.

んで,本題

eps -> svg

epsのファイルも編集したいという皆様の要望にお応えします.しかも無料で.
環境は件のImage-magickが入っててTeXが入ってれば大体整ってますよ.
使ってるソフトは
Image-magick :画像を変換
potrace :ビットマップ画像をベクタ化
Inkscape : svgファイルを修正 eps保存

手順は,eps -> pbm -> svg -> eps

まず
epsをImage-Magickによってビットマップ化.ついでにGrayscaleにもしておく.


>convert -density 320 -type grayscale hoge.eps ika.pbm


少々時間がかかる
で,次に
pbmファイルをベクタ化 このときにpotrace というソフトを使う.
これは,ビットマップの絵を,ベクトル化してくれるというすごいソフト
ない人は拾ってくるといいと思うよ.


>potrace -s ika.pbm


このときの -s オプションはsvgファイルを吐かせるためのオプション.
で,ika.svgファイルができています.
注意点としては,dpiが大きめのビットマップじゃないとpotraceがうまく
ベクトル化できないようです.

んで,お手持ちのInkscapeを使って,編集して
eps保存.
念のため一応,epsをImage-magickでグレースケール化しとくといいかも….

以上の手順で,eps -> svg変換ができましたよ.

なんか,ネットってありがたいなぁと思いましたよ.
ネットがなきゃ,こんなこと一生かかってもできませんでしたもん.

製作者の皆様ありがとう!

ちなみに,間違い等お気づきのことがありましたら,ご連絡いただけると嬉しいです.

0 件のコメント: