この記事について
とあるAndroidアプリの画像リソース削減のために、webpコマンドラインツールのcwebp
コマンドを利用してPNGファイルからWebPを生成しようと思ったのですが、すでに画像が多数使われているアプリなので、1ファイルずつコマンドを打って変換するのは辛いと感じました。そこで、ディレクトリ内のPNGファイルから一括でWebPを生成するシェルスクリプトを書きました。シェルスクリプト自体初めて書いたので、拙いスクリプトかと思いますがお納めください。
動作環境
- Mac OS X (El Capitan)
- webpコマンドラインツールがインストールされている
webpコマンドラインツールがインストールされていない場合は、
$ brew install webp
でインストールしておいてください。
スクリプト
以下のスクリプトを書きました。
convert_png2webp.sh
for pngFile in *.png
do
echo "start converting "$pngFile
base=`basename $pngFile .png`
cwebp $pngFile -o $base".webp" >/dev/null 2>&1
echo "complete"
done
使い方
一括変換したいPNGが入ったディレクトリで、このスクリプトを実行してください。たとえば、"hoge.png"、"fuga.png"というPNGファイルが入っているディレクトリでこのスクリプトを実行すると、"hoge.webp"、"fuga.webp"というWebPファイルが生成されます。webp変換のオプションを利用したい場合は、適宜cwebp
コマンドにオプションをつけてください。