A study of shell script: Convert various image files formats into EPS format

I’m learning shell scripts these days.
Below is a script which converts various image file formats (jpg, png, etc…) into eps format using ImageMagick.
LaTeX user might find this script useful.

#!/bin/sh
#A script which converts various image file formats into EPS format.
#Usage: image2eps.sh filename
#Wild card can be used.

if [ $# = 0 ]
then
echo "Please specify the files you want to convert!"
echo "Usage: image2eps.sh filename"
exit 1
fi

for image in "$@"
do
if [ -f $image ]
then
convert $image `echo eps2:$image | sed 's/\..*$/.eps/'`
else
echo "$image: No such file"
fi
done

Imagemagickを使用してWindowsでもEPS画像を簡単に作る方法

かつて、Linux上で動くEPS画像への変換スクリプトを書きましたが、ふと考えたらImagemagickを使えばWindows上でもEPS画像への変換は簡単にできるのではないか?と思いました。

実際に簡単にできたので記載しておきます。

まず、下記のリンクから、Imagemagickをインストールします。
http://www.imagemagick.org/script/index.php

そして、コマンドプロンプトを開き、画像があるディレクトリに移動します。

hogehoge.pngという画像をEPSに変換したいとするならば、以下のようにうちます。

convert hogehoge.png eps2:hogehoge.eps

これだけです。今までEPS画像を作成するのにいろいろ苦労していましたが、これで簡単に作成できるようになりました。

Linux上でPNG画像をEPS画像に変換するスクリプト

最近、LaTeXを用いて文章を作る機会が増えています。
画像を入れる際に、EPS画像だと使い勝手がいいのですが、スクリーンショットなどを変換するのにいい方法はないかと思っていました。

ググったところ、こんなページを見つけました。

画像ファイルをepsに変換してLaTeXで使う

これは便利。
早速、とっても小さなスクリプトですが、友人からアドバイスをもらって、一括処理するスクリプトを書いてみました。

#!/bin/sh
for f in $*
do
  convert $f `echo eps2:$f | sed 's/png$/eps/'`
done

これで複数のPNG画像を一括してEPS画像にできるのでとっても便利です。

友人のコメントが勉強になりましたので、それも記載しておきます。

バッククォートで何らかの処理を囲み、その結果として返される文字列を更にシェルで利用する方法は、一度身につけると相当便利に使えるので、オススメです。
たとえば私は以下の処理を、mkdatedir という alias にして使っています。

mkdir `date '+%Y%m%d'`

確かにこれは便利ですね。Linuxのシェルを使いこなすコツの一つはバッククォートにあるということですね。

png2eps.shをダウンロード