ImageOptim-CLIによる画像軽量化
著
完全にマカー向けの記事(謎)。激しく今さらながら、画像軽量化のための環境を整えたので、覚え書き。軽量化に使えるツールにはいろいろありますが、Comparison of all optimisation toolsを拝見し、ImageOptim-CLIを使うことに。下準備としてまず、
の3つをMacにインストール。JPEGminiはApp Store経由で購入(2,000円)、他はそれぞれのサイトから個別にダウンロードしてインストール。3つとも、インストール先は/Applications/にしておくのがポイントかな? 次いで、ImageOptim-CLIをインストール。ImageOptim-CLIはシェルとAppleScriptで動くのであって、Node.jsは必要ないのですが、Node.jsがインストール済みであれば npm install -g imageoptim-cli で終了(自分の場合、sudoで実行)。以後、あるディレクトリの中にある画像を全部まるっと軽量化するなら imageOptim -j -a -q -d path/to/images でいけます。各オプションの意味は以下の通り:
- -j:JPEG画像はJPEGminiで処理
- -a:PNG画像はImageAlphaで処理
- -q:軽量化が終わったら全てのアプリを終了
- -d:画像単体ではなく画像を含むディレクトリを指定
まーこの指定でやると軽量化対象となる画像は片っ端から上書き保存されるので(最初だけ警告は出るけど)、必要であればバックアップは取ったうえで実行しましょう。なお、ImageOptim-CLIの初回起動時にはちょっとした注意点が。ターミナルで実行すると、
To automate JPEGmini we need to enable GUI Scripting. Check 'Enable access for assistive devices' under Accessibility in System Preferences, then run ImageOptim-CLI again.
な感じで怒られます(全ての環境でというわけではないにせよ)。で、OS X 10.9の場合、システム環境設定→セキュリティとプライバシー→プライバシー→アクセシビリティのなかに、ImageOptim-CLIを実行したアプリケーション(僕の場合はiTerm2)が「下のアプリケーションにコンピュータの制御を許可。」のところにリストアップされているハズなので、チェックを入れます(当然ながら、「変更するにはカギをクリックします。」のところはクリックのうえパスワードを入力してから)。それで次回以降はすんなりImageOptim-CLIが動くようになります。都度コマンドを実行するなり、gruntタスクに登録(JamieMason/grunt-imageoptim · GitHub)するなり、ご自由に。
とりあえずえいやっとまとめて軽量化しちゃいたいときは無茶苦茶便利だと思いますね、これ。JPEGminiに払ったお金ぶんくらいは一瞬で元が取れる感じ。無料のJPEGmini Liteは、一日につき20画像までっていう制限付きなので、そんなにまとめて作業なんかしないよって人はLiteでもいいのかもしれないけど。