5 ポイント 投稿者 kunggom 2020-03-28 | 2件のコメント | WhatsAppで共有

ファイルサイズの大きいpngファイルを、あるウェブサイトのアップロード制限に合わせるために容量を減らす必要がありました。こうした画像最適化を支援する代表的なオンラインツールとしては tinypng( https://tinypng.com/ ) のようなものがありますが、問題は png ファイルのサイズが大きすぎて、tinypng の無料サービスが許容する最大容量である 5 MB を大きく超えていたことです。そこで、より大きな容量のアップロードが可能な類似ウェブサービスをいくつか探してみたところ、その中で最も結果がよかった(=見た目ではほとんど区別できない事実上のロスレスで、しかも出力ファイルサイズが最も小さい)ものを見つけました。それがまさに上にリンクしたウェブサイトです。11 MiB を超えていた png ファイルのサイズを、約 2.7 MiB まで減らしてくれました。そこでここに紹介します.

副次的な収穫もかなりありました。たとえば、類似のウェブサービスを提供する compress-or-die というサイトでは、画像ファイル形式に関する各種ドキュメントを見ることができました。さまざまな画像最適化ウェブサイトを自社サイトとベンチマークしながら「うちの技術力が最高だ!」とアピールする記事もありましたが、肝心のこちらの結果はデフォルト設定では最適化後のファイルサイズが 3.1 MiB になり、残念ながら(!)2位でした。その代わり、ここでは「エキスパートオプション」が提供されているので、望むなら結果をさらに調整する余地はありました。

オンラインで画像容量の最適化ができるなら、ローカルでできない理由もありません。png ファイル向けには pngquant という CUI ツール兼ライブラリがあることを確認しました。Windows、Linux、macOS 向けのバイナリがすべて提供されています。一方、Windows 向け GUI ツールとしては RIOT というものがありました。こうしたツールの利点は、ファイル容量の制約に縛られないことです。

最後に、上でリンクしたウェブサイトは、アクセスしてみればわかるとおり、画像容量の最適化だけでなく、ウェブ開発者やウェブサイト運営者が手軽に使えるさまざまなオンラインツールも提供しています。ウェブサイトに置かれている robots.txt ファイルを解析するツール、短縮 URL などのリダイレクトを追跡するツール、複数の URL を一度に開くツール、Lorem Ipsum を好きなだけ生成してくれるツールなど……まるでマクガイバー・ナイフのようです。それでも、その中で最も有用に見えるのは、やはりこの画像サイズ最適化ツールです。

2件のコメント

 
xguru 2020-03-28

おっしゃる通り、効率がとても良いので、おそらく目視では確認できない程度の非可逆圧縮なのではないかと思います。

可逆 PNG 圧縮ツールだけを比較した "Comparison of lossless PNG compression tools" http://www.olegkikin.com/png_optimizers/ がありますが、

ここで Pic4 を持ってきて試してみると、上のサイトの結果物が 31KB で最も小さいですね。

私は以前 https://pngquant.org/ ベースのツールを使っていましたが、こちらは 36KB になります。

参考までに、PNG の圧縮がどうなっているのかを整理してある文書を 1 つ。

A guide to PNG optimization http://optipng.sourceforge.net/pngtech/optipng.html