画像の容量制限を推測せずに満たす方法

品質または目標バイト数を選び、寸法、形式、メタデータ、アニメーション、出力サイズを確認します。

画像圧縮は測定が必要なトレードオフです。同じ品質値でも、画像の 内容、形式、ブラウザーのエンコーダーによってファイルサイズは変わり ます。安全な手順は、元ファイルを残し、見た目の品質かバイト上限の どちらを優先するか決め、設定値ではなくダウンロード結果を確認すること です。

LutrakitのImage Compressor候補は、1ファイル50 MiBまでの静止JPEG・PNG・ WebPを複数処理し、ブラウザー内でJPEGまたはWebPを作成します。ピクセル 寸法は変えません。目標サイズモードは品質を変えて試しますが、幅や高さ を無断で縮小しません。アニメーションPNG・WebPは、1フレームだけを保存 しないよう拒否します。

WebP出力、品質82パーセント、端末内バッチ処理を示す画像圧縮ツールの設定画面
現在の日本語画面には、以下の確認で使う形式、品質、プライバシーの初期設定が表示されています。

見た目を優先するときは品質を選ぶ

品質モードは、結果を目視でき、厳密なバイト上限がない場合に向きます。 10%から100%まで選べ、初期値は82%です。この数値はブラウザーの エンコーダーへの要求であり、共通の画質点数ではありません。同じ82%でも JPEGとWebP、別の画像、別のブラウザーでは一致しません。

まず初期値で処理し、細い文字、髪、強い輪郭、グラデーション、反復模様を 100%表示で確認します。重すぎる場合は元画像からやり直して品質を下げ、 劣化が気になる場合は上げます。非可逆圧縮した出力を再び入力にして何度も 保存すると、劣化が重なる場合があります。

バイト上限があるときは目標サイズを選ぶ

フォームやメッセージサービスなどに上限がある場合は目標モードを使い ます。16〜20,480 KBの整数を入力します。この画面では1 KBを1,024バイト として扱います。最大10段階の品質を高い方から等間隔で試します。

検索は各試行で実際に作られたBlobを測定します。品質が下がればサイズも 必ず単調に下がるとは仮定しません。目標以下になった最初の試行を返し、 どれも届かなければ、実測した中で最小の出力を返して未達と明示します。

結果 意味 次の判断
目標達成 このブラウザーで指定バイト以下になった 見た目、寸法、提出先での受理を確認する
目標未達 10段階のどれも上限に届かなかった 上限を緩める、別途縮小する、別の方法を使う
元より大きい 再エンコードで容量を減らせなかった 変換が不要なら元を使う

この版はリサイズしないため、目標はベストエフォートです。数字を達成する ためにピクセルを黙って捨てるより、未達を表示する方が正確です。

JPEGとWebPを意図して選ぶ

提出先が対応していれば、WebPはWeb配信用の出発点になります。JPEGは 透明度が不要な写真で広く使われます。どちらも常に最良とは限らないため、 実際の提出先でダウンロード結果を比較します。

JPEGは透明度を保持できません。LutrakitはJPEG描画前にキャンバスを白で 塗るため、透明ピクセルは白になります。透明度が必要ならWebPを選び、 出力のアルファを確認してください。

ブラウザーが要求されたコーデックに対応しない場合、Webプラットフォーム は別形式を返すことがあります。LutrakitはBlobの実MIME型を検査し、PNG にフォールバックしたデータへ誤ったJPEG/WebP拡張子を付けず、エラーを 表示します。

変わるものと変わらないものを知る

デコード後のビットマップの幅と高さは保持されます。保存された向きを反映 するようブラウザーへ要求し、同じ寸法で描画します。圧縮はバイト数と ピクセル値を変える場合がありますが、意図的なリサイズは行いません。

出力はキャンバスから新しくシリアライズされます。元のExif、GPS、ICC プロファイルはコピーされません。一方、ブラウザーのエンコーダーが技術 情報を追加する場合があるため、認証済みメタデータ消去ツールではありま せん。位置、著作者、色管理、プライバシーに関わる場合は、別の検査ツール で出力を確認します。

APNGはacTL、アニメーションWebPはRIFF内のANIM・ANMFチャンクを 使います。Lutrakitはデコード前にこれらを検出して拒否します。全フレーム を残す必要がある場合はアニメーション対応編集ソフトを使います。

再現できる確認手順

  1. 元ファイルを別の場所に保存します。
  2. 画像圧縮ツールを開き、代表的な静止画像を1枚選びます。
  3. WebP・82%のまま処理し、ダウンロードします。
  4. 元と出力のサイズ、寸法、実MIME型、100%表示の劣化を記録します。
  5. 元画像からやり直し、目標モードで提出先の上限を1,024バイト単位のKBで 入力します。
  6. 達成・未達、実出力サイズ、表示された品質を記録します。
  7. 実際に使うブラウザーと提出先で繰り返します。

バッチでは、同じ提出条件を持つ画像をまとめます。各画像に個別の出力と 結果が作られます。写真、スクリーンショット、線画では同じ品質値でも見た 目が異なるため、最初の1件だけでなく複数を確認してください。

プライバシー、キャンセル、上限を確認する

ローカル処理では、端末上のブラウザーAPIが選択ファイルをデコード・ エンコードします。現在のビルドを確認するには、開発者ツールのNetworkを 空にし、固有名のコピーを選択して処理し、その名前やバイトを含む通信が ないことを確認します。これは確認したビルドの証拠であり、将来の全変更を 保証するものではありません。

大きな処理をキャンセルし、再開できる安定した状態へ戻ることも確認します。 アニメーションが拒否されること、コーデック非対応時にエラーになることも 確認します。失敗したデータの拡張子だけを変えてはいけません。

圧縮ファイルはデコード後に大きなメモリを使う場合があります。50 MiBの 入力上限に加え、端末に応じたラスタ面積と累積ピクセル上限があります。 巨大画像、RAW、高ビット深度、カラーマネージド印刷、保存用マスターには デスクトップ編集環境を使います。

最終チェック

  • 元ファイルを残す。
  • 見た目なら品質、バイト上限なら目標を選ぶ。
  • 達成・未達メッセージを読む。
  • 寸法、透明度、形式、実サイズを確認する。
  • 必要ならメタデータを別途検査する。
  • アニメーションを誤って静止画化しない。
  • 代表画像を実際のブラウザーと提出先で再確認する。

切り抜き、リサイズ、回転には専用の編集ツールを使い、目標サイズモードが 寸法を無断で変えるとは考えないでください。プライバシーの仕組みは ブラウザー内ローカル処理を参照してください。

参照資料

  • WHATWG HTML Standard:canvasシリアライズとconvertToBlob()。
  • WHATWG HTML Standard:ImageBitmapとcreateImageBitmap()。
  • W3C Portable Network Graphics (PNG) Specification, Third Edition。
  • Google WebP Container Specification。