目標容量にする仕組み
目標容量以下で、できるだけ高いquality値・大きい解像度の候補を探索します。JPEG/WebPではまず元の解像度(最大サイズを指定した場合はその範囲)でquality 0.95から0.20を調べ、最低qualityでも容量を超える場合だけ縮小します。得られた目標以下の候補から解像度、qualityの順で選びます。数学的な最適解を保証するものではありません。
PNGとJPEG/WebPの違い
PNGはquality指定で容量調整できません。元寸法で再保存し、必要な場合だけ縮小します。透明度はPNG/WebPで維持し、JPEGでは指定背景色へ重ねます。
画像サイズを下げるのはいつか
長辺64pxを下限に(元から小さい画像は拡大せず)探索します。最大32回のencodeで終了します。到達できなければ「目標容量には到達できませんでした」と表示し、最小容量の保存候補を提示します。形式変更・最大サイズ指定・品質指定モードでは、元が目標以下でも再保存します。
metadataについて
Canvasで再保存するためEXIF・GPS・XMP・thumbnailなどは原則引き継ぎません。元ファイルをそのまま返す場合は保持されます。向きは既存decode処理でpixelへ反映します。ICC/profileや色管理情報が変わる場合があり、完全なmetadata匿名化や完全無劣化を保証しません。
Before/Afterについて
左が元画像、右が軽量化後です。スライダーはドラッグ・タップ・キーボードの矢印で動かせます。プレビューは長辺1200pxまでです。差分は出力の全pixelを分割集計し、RGBA各成分の最大差を用います。変更pixel率(しきい値0)、mean delta、max deltaは見た目の差を確認する参考値です。解像度変更時は元画像を出力寸法へリサイズした基準画像と比較し、元のフル解像度との差分ではありません。JPEG背景も基準側へ適用します。
このToolで分からないこと
人間が感じる劣化、印刷品質、色校正、撮影品質、SNSの再圧縮、他サービスへのupload後容量、完全なmetadata匿名化、AVIF/HEICの品質比較は判定しません。KBを1000 bytesで扱うサービスでは、少し小さい目標を指定してください。