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


昨日につづいて、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
OptiPNG 5,527
pngrewrite+OptiPNG 5,512
pngrewrite+OptiPNG+cPNGC 5,512
PNGOUT 5,313
pngrewrite+PNGOUT 5,264
pngrewrite+PNGOUT+cPNGC 5,264
pngrewrite+OptiPNG+PNGOUT+cPNGC 5,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倍以上の時間を使ってここまでする必要があるとは思えませんが、個々でご判断ください。
[画像]
[PC]
[アサブロ]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット