optipng

optipngは、png画像のサイズをコマンド1発で最適化してくれる

* インストール方法
sudo aptitude install optipng


* 使い方
/usr/bin/optipng [最適化したい画像ファイルパス]

でOK

* サンプル

Yahoo! Japan Tech Blogにある、この画像を最適化してみる。

satoshi@debian:~/tmp$ wget http://i.yimg.jp/images/tecblog/2009Q1/20090608.png
--2009-08-10 23:07:29-- http://i.yimg.jp/images/tecblog/2009Q1/20090608.png
i.yimg.jp をDNSに問いあわせています... 202.93.69.243
i.yimg.jp|202.93.69.243|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 17164 (17K) [image/png]
`20090608.png' に保存中

100%[===================================================================================================================>] 17,164 --.-K/s 時間 0.1s

2009-08-10 23:07:30 (152 KB/s) - `20090608.png' へ保存完了 [17164/17164]

satoshi@debian:~/tmp$ ls -l 20090608.png
-rw-r--r-- 1 satoshi satoshi 17164 2009-06-03 11:09 20090608.png
satoshi@debian:~/tmp$ optipng 20090608.png
OptiPNG 0.6.1.1: Advanced PNG optimizer.
Copyright (C) 2001-2008 Cosmin Truta.

** Processing: 20090608.png
468x343 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 17070 bytes
Input file size = 17164 bytes
Trying:
zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 14479
zc = 9 zm = 8 zs = 1 f = 0 IDAT too big
zc = 1 zm = 8 zs = 2 f = 0 IDAT too big
zc = 9 zm = 8 zs = 3 f = 0 IDAT too big
zc = 9 zm = 8 zs = 0 f = 5 IDAT too big
zc = 9 zm = 8 zs = 1 f = 5 IDAT too big
zc = 1 zm = 8 zs = 2 f = 5 IDAT too big
zc = 9 zm = 8 zs = 3 f = 5 IDAT too big

Selecting parameters:
zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 14479

Output IDAT size = 14479 bytes (2591 bytes decrease)
Output file size = 14573 bytes (2591 bytes = 15.10% decrease)

satoshi@debian:~/tmp$ ls -l 20090608.png
-rw-r--r-- 1 satoshi satoshi 14573 2009-08-10 23:08 20090608.png


というわけで、15%のサイズ削減ができた。
最適化後の画像は以下。見た目には劣化はわからない。

※ Blogにuploadしたら勝手にリサイズされてしまった。orz


css spliteの画像など、単純な画像ほど、最適化したときのサイズ減少が著しい。

お手軽なので、ぜひお試しあれ。