ラベル pngnq の投稿を表示しています。 すべての投稿を表示
ラベル pngnq の投稿を表示しています。 すべての投稿を表示

2013/07/27

png のファイルサイズを最適化するコマンド

png ファイルって、便利ですけど可逆のはずなのに、なぜか出力するソフトによってファイルサイズが違ったりしますよね。

更に、前回のエントリと同様に、PageSpeed Insights にかけてみると、こんなことを言われるわけです。
以下の画像を最適化すると、サイズを 15.7 KB(7%)削減できます。
    http://example.com/.../image_thumb.png を可逆圧縮すると 8.5 KB(7%)削減できます。
そこで、コマンド一発通したら png ファイルを小さくしてくれるコマンドがあったら便利ですよね。探して見ました。
  • optipng - 進化した PNG (Portable Network Graphics) オプティマイザ
  • pngnq - PNG (Portable Network Graphics) 画像最適化ツール
  • pngcrush - PNG (Portable Network Graphics) ファイルを最適化
aptitude search したらこれぐらい見つかりました。

ひとつ注意として、pngnq だけ他とちょっと違います。pngnq は、32-bit RGBA な PNG ファイルを 8bit RGBA に変換するファイルです。つまり、強制的に小さくなりますし、(通常は)非可逆です。GIF みたいなものです。

それぞれ使ってみます。変換するファイルは、256x256 の GIMP で生成したファイルです。(ODCP のロゴ)
  • Original
    • 37652 byte
  • `convert in.png out.png` (参考)
    • 38654 byte
  • `optipng in.png` => in.png
    • 24482 byte
  • `pngcrush in.png out.png`
    • 24482 byte
  • `pngnq in.png` => out-nq8.png
    • 13853 byte
参考で ImageMagick で convert した結果も乗せて見ました。サイズ増えてますwww

pngnq は 8bit に変換するだけあって、さすがに減ってます。グラデーションとかな png だとがっつり劣化するので、用途によりますかね。

optipng と pngcrush は同じ結果でした。好きな方を使えばいいと思います。