MacでPNGファイルをフォルダごと圧縮させる

スマホのようにWifi環境以外でのアクセスが増えているので、ファイルサイズ圧縮の重要性が増してます。

そんな中、PNGファイルを圧縮させるのにPNG miniを最近まで使っていました。

しかし、PNG miniで圧縮させたファイルは、既存のファイルを上書きして欲しい所なのですが、

PNG miniは「ファイル名 2.png」のように圧縮前後のファイルを両方残するようになっています。

また、フォルダ内の全ての画像を圧縮みたいなことも出来ません。

要は「一回の作業で特定フォルダの画像を全て圧縮」ということがしたいのです。

そこで、何かないかと探していたら「OptiPNG」というのがありました。


MacPortsをインストール

OpitiPNGをインストールするには、まず「MacPorts」をインストールする必要があります。

MacPortsをインストールしてない場合は、下記サイトからMacPortsをダウンロードします。

The MacPorts Project — Home

スクリーンショット_2014_04_28_8_33

ダウンロードしたMacPorts-xxxxx.pkgファイル使ってインストールします。

次に環境変数を設定します。

ターミナルを立ち上げて黒い画面に以下のコマンドを1行ずつ打ちます。

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/man:$MANPATH

これでMacPortsが使えるようになりました。


OpitiPNGをインストール

次にOpitiPNGをインストールします。

MacPortsをインストール出来たので、こちらは簡単。

先程、立ち上げたターミナルに、以下のコマンドを打ちます。

sudo port install optipng

パスワード聞いてくるのでMacのパスワードを入力すると、インストールが始まります。簡単!


OpitiPNGを使ってみる

OpitiPNGの使い方もターミナルを使います。

ターミナルで圧縮したいフォルダに移動します。

移動するコマンドはcdなので以下のようにします。

cd フォルダへのパス

フォルダへのパスですが、僕は面倒なので「cd+スペース」の打ったら、finderのフォルダをドラッグします。

すると、自動的にフォルダのパスが入力されます。

スクリーンショット_2014_04_28_8_44-2

そしたら、そのまま以下のコマンドを打つとフォルダ内のpngファイルが圧縮されます。

optipng *.png

フォルダの中の、サブフォルダに含まれる画像も圧縮したい時は以下のコマンドです。

find . -name "*.png" -exec optipng {} ;

大体3割ほど圧縮されます。勿論、画像の劣化もありません。

ちなみに、僕は最後のコマンドはMacの単語登録を使って、いつでも変換できるようにしています。便利ですよ。

この記事を書いた人:

ナカシマ

北区赤羽在住のWEBデザイナー兼エンジニア。インターネット、WordPress、本・漫画、音楽が大好き。妻と猫と暮らすアップル信者。

BLOG: 着ぐるみ追い剥ぎペンギン