イメージオプティムでのpngの容量圧縮が遅いので別のやり方を模索する

Apple Mac

イメージオプティムはドラッグ・アンド・ドロップするだけで画像の容量を削減してくれる大変便利なアプリですが、pngの処理がとても遅くてやってられません。

ということで探してみたところpngquant(ピングクワント?)というプログラムがとても速いということが分かりました。

ただしこれはコマンドラインで動かすものなので、ちょっと敷居が高い。しかしMacにはAutomatorApplescriptがあります。

最終的にはpng画像右クリックで一発容量削減できるようになりました。

ではそのやり方です。

pngquantのMacへのインストール

ではMacにpngquantをインストールしましょう。Homebrewというパッケージマネージャーが入っていれば一発でインストールできるので、まずはHomebrewを入れます。

Homebrew(ホームブルー)は、Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつである。MacPortsやFinkと同様の目的と機能を備えている。https://ja.wikipedia.org/wiki/Homebrew_%28%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%29

ターミナルから一発でインストールできるので簡単です。ターミナルで以下を打ちます(コピペでOK)

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
homebrewをインストール
homebrewをインストール

途中パスワードを聞かれたら入力すればインストールできるはずです。

brew helpと打ってみてhelp画面が出たらインストール成功です。

brew help画面
brew help画面

さてHomebrewが無事インストールできたら、続けてpngquantをインストールしましょう。

同じくターミナルに以下を打つだけです。(コピペOK)

brew install pngquant
pngquantをインストール
pngquantをインストール

ターミナルでpngquantと打ってみてhelpが出たらインストール成功です。

pngquant help画面
pngquant help画面

pngquantの使い方

pngquantは基本的にはターミナルで使うものです。細かいオプションはいろいろありますが、デフォルトだけでも強力に圧縮してくれます。

pngquant file_name.png

ただしこれだと元ファイルはそのままで、容量削減されたファイルはfile_name-fs8.pngというファイル名で生成されます。

それが嫌(つまり同名で上書き保存したいとき)なら、以下のように打ちます。

pngquant --ext .png --force file_name.png

そしてディレクトリ内ファイルを一括で処理したいときは以下のように打ちます。(例えばsomeDirフォルダ内のすべてのpngに対して処理したい)

pngquant --ext .png --force /someDir/*.png

当然.shファイルでもできるので連続で処理したいときはhoge.shファイルを作ってshで実行することもできます。

#!/bin/sh
echo "start!"
pngquant --ext .png --force /someDir1/*.png
pngquant --ext .png --force /someDir2/*.png
pngquant --ext .png --force /someDir3/*.png
echo "end!"
sh hoge.sh

いちいち手打ちは面倒

さていちいち手打ちは面倒ですので、png画像を右クリックして処理できるようにしましょう。こんな感じです。

右クリックでpngの容量削減
右クリックでpngの容量削減

それにはMacのAutomatorアプリを使います。Automatorを起動してサービスを選択して以下のように作るだけです。

サービスって何っていうAutomator初心者のかたはこちらをお読みください。

Automatorでサービスを作成
Automatorでサービスを作成
#pngquantでPNGの容量削減
/usr/local/bin/pngquant --ext .png --force "$@"
#ダイアログを出す 
osascript << EOF
tell application "Finder" to display dialog ("pngquantでPNGの容量削減 終了") giving up after 2
EOF

giving up after 2は2秒後に自動的にダイアログを閉じる設定です。自動的に閉じたくない人は削除してください。

これで右クリックでいつでもすばやくPNG画像の容量削減ができるようになりました。

参考にさせていただきました。ありがとうございました。

コメント

  1. […] 参考:イメージオプティムでのpngの容量圧縮が遅いので別のやり方を模索する参考:Macの画像圧縮アプリ『ImageOptim』と『JPEGmini』はどちらが良いか? […]

タイトルとURLをコピーしました