kengo92iの日記

プログラミングとかやったことの記録を書いていきます。

画像ファイルを一括でeps形式に変換する方法

LaTexなどを使っていると、jpg, pngなどの画像をまとめてeps形式に変換しないといけない場合に遭遇します。そんなときに画像ファイルを一括でeps形式に変換する方法のメモ書きです。


画像をeps形式に変換する場合は、ImageMagickの「 convert 」コマンドが使えます。ImageMagickが入ってない人はインストールして下さい。

$ convert image01.png image01.eps

とターミナルに入力するとeps形式に変換された画像が出力されます。

上記のコマンドを使って作成したシェルスクリプト(convert_to_eps.sh)が以下です。

#! /bin/bash
mkdir -p eps
for f in *.png; do
convert $f eps2:eps/${f%.png}.eps;
done

上記のスクリプトを変換したい画像があるディレクトリに作成して、実行します。

~/Desktop/Sample$ vim convert_to_eps.sh 
~/Desktop/Sample$ ls
convert_to_eps.sh img01.png         img02.png         img03.png
~/Desktop/Sample$ sh convert_to_eps.sh 
~/Desktop/Sample$ ls
convert_to_eps.sh img01.png         img03.png
eps               img02.png
~/Desktop/Sample$ cd eps/
~/Desktop/Sample/eps$ ls
img01.eps img02.eps img03.eps

epsというフォルダが出来ているので、その中に変換された画像が入っています。

いちいちファイル作るのめんどくさいという人は下のコマンドをコピペで実行してもらえば大丈夫です。

$ mkdir -p eps; for f in *.png; do convert $f eps2:eps/${f%.png}.eps;done

※ 先頭の"$"はコピペしないで下さい。