PSM

python する man

画像を一括変換してくれるシェルスクリプト

1.はじめに

macのanaconda環境でpngを.epsに変換するのを一括でやってくれるスプリプトを書きました.

texで載せるためpngじゃなくてepsが必要になった
 → pngtexに変換したい
 → 変換に使ったimagemagicの導入のメモをかいて起きたい
 → 一括変換してくれるwindowsで言うバッチファイル的なのがほしい
 → 勉強ついでに作るか
ってな感じのモチベです.

2.imagemagicの導入と使い方

macで画像を変換するときはimagemagicを使うと便利らしいです.
Imagemagick :: Anaconda Cloud
にかいてあるように

conda install -c conda-forge imagemagick 

で導入できます.

変換のやり方は
sample.pngをsample.epsに変換したいときは

convert  sample.png sample.eps

ですが,これだとできあがる.epsが非常に重くなってしまうので

convert  sample.png eps2:sample.eps

がおすすめです.

3.シェルスクリプト

適当なエディタで

#!/bin/bash

# 変換したいpngの配列
arr=("pict1" "pict2")

# スクリプトが置いてある場所に移動
SCRIPT_DIR=$(cd $(dirname $0); pwd)
cd $SCRIPT_DIR

#変換
for i in ${arr[@]}
do
  convert "${i}.png" eps2:"${i}.eps"
done

と作ってconverter.commandと名付けます
(名前は何でも可ですが,拡張子は.commandで)

そのままでは実行時に許可がないとエラーが出るので
converter.commandと同じディレクトリに移動して

chmod u+x converter.command

とやってください.

5. 使い方

スクリプトと画像は同じ場所に置いてあることが前提ですが,
カレントディレクトリに関わらず.commandをダブルクリックすれば実行できます.

スクリプトの「#変換したいpngの配列」のところに書かれている配列を
自分の変更したい画像の名前に書き換えてください.


4.まとめ

変に自動化するより一つ一つ手打ちしたほうが早いのでは?