pngquant

2017/09/27

pngquantはPNG形式の画像を圧縮するツールです。

公式サイトの冒頭に

pngquant is a command-line utility and a library for lossy compression of PNG images.

とある通り、lossy compression、つまり非可逆圧縮を行います。PNGって可逆圧縮じゃなかったっけ?と思うかもしれませんが、pngquantは減色を軸とした非可逆圧縮を行っています。32ビットや24ビットのPNG画像に減色処理を施して8ビットに変換することで容量を削減しているんですね。

減色処理やディザリングを工夫することで見た目上の品質を保ちながら大幅な容量削減を実現しているのがpngquantのウリ。また、アルファチャンネル(透過情報)も維持してくれます。

基本的にはコマンドラインで使います。Windowsやmac用のバイナリが用意されているので、通常用途ならそれを使えばOK。

いくつかオプションを試した結果、デフォルトでも十分実用的でしたが、--speedオプションはつけたほうがよさそう。

$ pngquant --ext .png --speed 1 *.png

--speedは処理速度のオプションです。速度と品質のトレードオフになっていて、1は遅くて高画質、10は速くて低画質となります。デフォルトは3です。 試した感じ処理速度以外のペナルティはない様子。--speed 1決め打ちでいいんじゃないかと思います。

「PNGを圧縮します!」と謳っているWebサービスの大半は裏側でpngquantを使っているようです。それだけpngquantが優秀ってことなんでしょうね。




おススメ