画像のツール
画像をどこのサーバーにも送らずに、圧縮・変換する。
以下のツールはすべてブラウザ内で動作します。アップロードは行いません。
2つのツールと、1つの判断
圧縮と形式変換は重なる部分があるので、どちらが要るのかを 先に決めておくと早いです。圧縮は形式を保ったまま、見た目の情報とファイルサイズを交換します。 変換は形式を変えるもので、結果としてサイズも変わりますが、目的は互換性のほうです —— HEIC の写真を サイトが受け付ける形式にする、スクリーンショットを文字のエッジが保たれる形式にする、といった用途です。 アップロードの上限で困っているなら圧縮から、開けないファイルで困っているなら変換から始めてください。
可逆と非可逆は取り替えが利かない
JPEG と、通常モードの WebP は非可逆です。見えにくい情報を捨てることで小さくし、捨てた分は戻りません。 PNG は可逆で、同じピクセルをより効率よく記述することで小さくするため、復元すると元と1ビットも違いません。 この違いが、どの画像にどの形式が向くかを決めます。緩やかな変化に満ちた写真は、JPEG にすると 見た目の代償がほとんどないまま劇的に縮みます。スクリーンショットや図、文字や平坦な色面を含むものは JPEG が苦手で(そもそも鋭いエッジ向けに設計されていないので滲みます)、しかも PNG のほうが 小さくなることさえあります。
ここから、最も意外に思われる結果が出ます。最適化済みの PNG スクリーンショットを高品質設定で JPEG に 変換すると、元より大きくなったうえに見た目も悪くなることがあります。各ツールのページに載せている 数値は推定ではなく実ブラウザでの実測で、自動テストが測り直しているので、 エンコーダが実際にやっていることを反映しています。
品質設定には、効く範囲と無駄な範囲がある
JPEG や WebP の品質値は何かのパーセンテージではなく、目盛りの上端は割に合わなくなる領域です。 0.95 から 0.85 に下げるだけでサイズの多くが落ち、それでいて差は並べて比べないと分かりません。 おおよそ 0.9 を超えたあたりからは、誰も気づかない細部のためにバイトを使っている状態になります。 確実なやり方は、目に見えて劣化するまで品質を下げ、そこから1段戻すことです。
リサイズは圧縮に勝る
画像を小さくする最も効果的な方法は、寸法を落とすことです。ファイルサイズは品質スライダーよりも 画素数に比例するからです。今の携帯で撮った写真は幅が数千画素あり、メールや文書、 普通のウェブページに表示する時点で、その多くはどのみち捨てられています。縦横を半分にすれば、 圧縮をかける前に画素の 4 分の 3 が消えます。品質設定に手を伸ばすのは、寸法を決めた後です。
再エンコードは積み上がる
非可逆の保存は、渡されたものに対して毎回情報を捨てます。圧縮して、編集して、また圧縮したファイルは、 両方の損失を抱えています。あとから高品質で保存し直しても元には戻りません。 処理済みのコピーを繰り返し処理するのではなく、原本を残して毎回そこから作業してください。
画像は手元から出ません
どちらのツールも、ブラウザが画像を表示するのと同じ経路で、手元でデコード・リサイズ・再エンコードします。 アップロードは発生しません。これはこのカテゴリではとくに重要で、写真には位置情報が、 スクリーンショットには画面に映っていたものが、書類のスキャンにはそこに書かれたすべてが含まれます。 自動テストが実ファイルを両方のツールに投入し、データを外へ運ぶ通信が1件でもあればビルドを落とします。 なお再エンコードは EXIF の位置情報などの埋め込みメタデータも落とします。多くの場合は好都合ですが、 撮影データが必要なら原本を残しておいてください。