写真をKB制限内に収める方法

  1. 写真を開く. 「写真を選択」をタップするか、ページにドロップします。JPG、PNG、WebP、GIFはどこでも使えます。iPhoneのHEICはSafariでは動作しますが、ほかのブラウザでは先に変換してください。
  2. 上限を選ぶ. 100、200、500 KBを選ぶか、自分で入力するか、ポータルのプリセットを選びます。プリセットは上限と、ポータルが公開しているピクセルのルールを設定します。
  3. 縮小して確認する. 「縮小」をタップします。変換前後の表に、新しいサイズ(KBとバイト)と新しい寸法が表示されるので、ルールを満たしているか確認できます。
  4. ダウンロードする. JPGを保存して、フォームにアップロードします。元の写真はそのままです。

できること

  • 100、200、500 KB、または入力した任意の上限を目標に — 9つの公式ポータルの公開ルールをプリセットとして用意
  • まずJPEG画質を二分探索(50%未満にはしない)、次に寸法を探索するので、上限が許す限り写真はシャープなまま
  • 縦横比を維持。幅と高さの最大ピクセル数も任意で指定可能
  • 変換前後のファイルサイズとピクセル寸法、使用した画質を表示
  • EXIFメタデータ(カメラ、日時、GPS座標)を削除 — コピーは新規エンコードのため
  • JPG、PNG、WebP、GIFに対応。HEICはブラウザがデコードできる場合(Safari)のみ。ブラウザ内で動作し、アップロードはなし

オンラインフォームはなぜ写真を100、200、500 KBに制限するのか

スマートフォンの写真は3〜8メガバイトあります。ビザのポータル、求人応募サイト、学校の入学申込フォームは、そうした写真を何百万枚も保存し、それぞれを600ピクセルのカードに表示するため、アップロードを数百キロバイトに制限し、それより大きいものを拒否します。たいていは数値だけを示すメッセージとともに。この数値こそが問題のすべてです。写真編集アプリが見せるのはピクセルと画質スライダーであってキロバイトではないので、結局は当てずっぽうになります。

このツールはどうやって数値に合わせるのか

上限を目標として扱い、探索します。画像はブラウザ内でデコードされ、元のサイズ(または設定した幅と高さの上限内)でキャンバスに描画されます。次に、JPEG画質を95%から50%の間で探索し、エンコード後のサイズが収まる最も高い値を見つけます。二分探索なので、エンコードは6回ほどです。50%でも大きすぎる場合は、超過分の平方根にほぼ等しい割合で寸法を減らします。これがJPEGにおおむね必要な量です。そして再び探索します。結果は上限内で最もシャープなJPEGで、変換前後の表に何が変わったかが正確に表示されます。

写真のメタデータはどうなるのか

キャンバスでの再エンコードは新しいファイルを書き出します。EXIFブロック(カメラの機種、レンズ、日時、向き、そしてほとんどのスマートフォンが記録するGPS座標)は単純にそこに含まれず、エンコーダーが追加するアプリケーションセグメントもツールが取り除きます。JPEGが元の場合は、GPS項目があったかどうかを確認して伝えます。ブラウザはデコード時にEXIFの向きを適用するので、縦向きの写真はタグがなくても正しい向きのままです。メタデータを残したり確認したりしたい場合は、写真のメタデータツールで表示できます。

このツールの制限

出力は常にJPEGです。表にあるフォームが求めるのがそれだからです。透明部分のあるPNGは白い背景になります。拡大や切り抜きは決して行いません。フォームが正方形や正確なピクセルサイズを求める場合は、まずパスポート写真ツールで切り抜いてください。HEICのデコードはSafariのみで、ほかのブラウザでは先にHEIC JPG 変換で変換してください。非常に大きな写真(約60 MB超、または一部のスマートフォンでは1600万画素超)はメモリを使い切ることがあります。また、発行機関によっては(IRCCの市民権およびパスポート写真のルールがその2例です)、カメラが保存したままのファイルを求めることがあり、縮小したコピーは拒否される可能性があるので、アップロード前にその行の注記を読んでください。

ブラウザ内で動作します

写真はこのタブのメモリに読み込まれ、ダウンロードとして書き戻されます。アップロードもアカウントもなく、何も保存されません。フォームを提出したあと、元の写真と受付確認の保管場所になるのがPaperlockアプリです。iPhone上のプライベートで検索可能な金庫で、いま申請したビザの期限リマインダーも付いています。