アナログ
RSS  

画像を劣化させずにファイルサイズを小さくする(PNG)2008/09/30 23:06

昨日につづいて、PNGを無劣化でファイルサイズを小さく(最適化)します。

昨日のJpegのときに、何故このブログで使ってるテンプレート「ペンギンの夏(白)」を使わなかったのかというと、実はペンギンの絵がGIFだったからで、決して昨日の絵が圧縮しやすかった訳ではないのです。だから、今日のサンプルはペンギンです(笑)。
ペンギンの夏(白)
クリックで拡大します。 オリジナルは、7,213バイトです。
ちなみにWindows XP付属のペイント(mspaint.exe)でPNGにすると、6,582バイトになります。

さて、PNGを最適化するソフトですが、PNGOUT.exe(40,960 bytes 02/09/2008)を使うのですが、GIFが256色なのでpngrewriteも利用できます。こうなるといろいろ面倒ですので、BlastPNGを使いましょう。
説明どおりダウンロードしてインストールすればいいのですが、BlastPNGは現在ユーカリ(http://omoikane.kuronowish.com/)に含まれてますので、BlastPNGを探して右往左往しないように(ええ、ずいぶん探しましたよ orz)。
※OptiPNGのインストールは特に必要ありません。理由はあとで述べますが、最適化は最新のPNGOUT.exeで十分です。

では検証結果です。
GIFオリジナル7,213
mspaint(参考)6,582
OptiPNG5,527
pngrewrite+OptiPNG5,512
pngrewrite+OptiPNG+cPNGC5,512
PNGOUT5,313
pngrewrite+PNGOUT5,264
pngrewrite+PNGOUT+cPNGC5,264
pngrewrite+OptiPNG+PNGOUT+cPNGC5,264

結果は、オリジナルに比べて、1,949バイト、約27%小さくなっています。
mspaint比で、1318バイト、約20%小さくなります。
※透明色の情報が失われる場合、cPNGCを処理しないで試してみて下さい。

さて、OptiPNGがぱっとしません。というより今年アップデートされたPNGOUTが優秀すぎるのでしょうか?
あんまりなので、-o7(240通りのトライアル)より重い -zc1-9 -zm1-9 -zs0-3 -f0-5(1080通り)を指定してみても同じ結果でした。OptiPNGの負荷を考えると、最適化はPNGOUTで十分※1と言えます。

それよりもサンプルにしてお(略:昨日を参照)テンプレに27%も圧縮可能なGIFを使うメリットがあるのでしょうか?
転送量(ry

もちろん、このブログはpngrewrite+OptiPNG+PNGOUT+cPNGCで、9月上旬からは、pngrewrite+PNGOUT+cPNGCで処理してます(笑)。

※1 あくまでOptiPNGで処理する時間と得られる結果(サイズダウン)を考えればというだけで、いつも効果がない訳ではありません。
例えば、http://puppet.asablo.jp/blog/img/2008/08/07/70928.png (170,509バイト)をOptiPNG(1080通り)+PNGOUT+cPNGCで処理すると、160,210バイトになります。私は4倍以上の時間を使ってここまでする必要があるとは思えませんが、個々でご判断ください。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
スパムがウザイので合い言葉を入れるようにしました。山と言えば川だろJK


コメント:

トラックバック

このエントリのトラックバックURL: http://puppet.asablo.jp/blog/2008/09/30/3792982/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。