拡張子を変えたのに、なぜそのまま? - 画像形式の変換が実際にすること
画像形式の変換が必要になったとき、まず取る行動はだいたい同じです。ファイル名の末尾の.pngを.jpgに直してみる、というものですね。警告の窓がひとつ出て、確認を押すとアイコンまで変わるので、これで済んだように見えます。
ところがそのファイルを提出サイトに上げると、形式が合わないと言って戻ってきます。名前は変わったのに、ファイルの中身はそのままだからです。
- 拡張子を直してもファイルが変わらない理由が分かります。
- 提出やアップロードで弾かれる地点を突き止められます。
- JPGとPNGのどちらで保存するかを自分で選べます。
これは何が起きているの? 名前の変更と画像形式の変換は違います
ファイル名の後ろに付いた.jpgや.pngのような札を拡張子と呼びます。これは文字どおり名前の一部です。人が見分けやすいように付いていて、パソコンも最初はこれを見てどのプログラムで開くかを見当づけます。
ですから名前を直せばアイコンが変わり、プレビューの見た目も変わります。表向きは成功したように見えます。けれど変わったのは、ちょうどそこまでです。
ファイルの中に保存されたデータは、一文字も触れられていません。もともとPNGの方式で記録された内容がそのまま残っていて、名前だけJPGのふりをしている状態です。名札を付け替えただけの箱と同じですね。
本当の画像形式の変換は、これとはまったく別の作業です。ファイルの中のデータをすべて読み取って計算し直し、新しい方式で保存することだからです。ですから出来上がるのは、元のファイルと名前だけが違うものではなく、まるごと新しく作られたファイルです。
なぜこうなるの? 形式はファイルの中の記録のしかたです
写真の一枚は画面で見ればただの絵ですが、ファイルの中では色をどう記録するかを定めた規則に沿って並んだ数字です。その規則が、そのまま形式にあたります。
同じ写真でも、JPGは人の目に見えにくい差を削りながら圧縮して記録し、PNGは情報を捨てずにそのまま収めます。記録のしかた自体が違うので、ファイルの中の数字の並びも丸ごと違います。
ほとんどの画像形式は、ファイルの先頭部分に自分がどの形式かを知らせる固有の目印を持っています。プログラムは名前ではなく、この目印とその後ろの構造を見てファイルを解釈します。
ですから名前だけ直したファイルは、目印と名前が互いに食い違った状態になります。プログラムから見れば、JPGと書かれた封筒を開けたら中に別の規則で書かれた文書が入っていた、というわけです。
寛容なビューアは、目印を見て元の形式として読んでくれることもあります。名前を変えたのに絵がきちんと見えるのはそのおかげです。それでよけいに紛らわしくなります。自分の画面では開けてしまうのですから。
それで私に何が変わるの? 提出とアップロードで分かれます
問題は自分のパソコンの外で起きます。受け取る側が名前ではなく中身を検査するところから、食い違いが表に出るからです。
応募書類の写真の添付、役所への書類のアップロード、通販サイトへの商品画像の登録のように、形式が規定で決まっている場所ではファイルの先頭を直接読んで確認します。名前が.jpgでも中身が違えば、その場で差し戻されます。
もっと厄介なのは、静かに失敗する場合です。アップロードは通ったのに相手の画面でだけ崩れて見えたり、印刷の段階で空欄になって出たりします。このときは原因にたどり着くまで時間がかかります。
解決は単純です。名前を元に戻してから画像形式の変換で保存し直せば済みます。ファイルを上げて希望の形式を選べば、中身まで新しく書かれたファイルを受け取れます。
ではJPGとPNGのどちらを選べばいい?
弾かれないファイルを作れたら、次の問いはこれです。どの形式で保存するのが正しいのか。ふたつは得意なことが違います。
JPGが無難です。色がなめらかにつながる写真で目につきにくい差を削りながら容量を減らす方式だからです。
証明写真の提出や掲示板への添付のように形式をJPGと決めてある場所も多く、互換性の面でも扱いやすいです。ただし保存するたびに情報が少しずつ減るので、元のファイルは別に置いてください。
PNGを選びます。透明な領域に対応した可逆方式なので、背景なしで重ねたい画像に合っています。
文字や線がくっきりした画面キャプチャや図表もPNGならきれいに出ます。ただし情報を捨てないぶん、写真をPNGで保存すると容量が大きくふくらむことがあります。
| 項目 | JPG | PNG |
|---|---|---|
| 圧縮の方式 | 非可逆(情報を削る) | 可逆(そのまま保つ) |
| 透明な背景 | 対応しない | 対応する |
| 向いている対象 | 写真、風景 | ロゴ、キャプチャ、図表 |
| 同じ絵の容量 | おおむね小さい | おおむね大きい |
背景を消して透明なPNGを作りたいなら、先に背景除去を通せば済みます。容量が大きくて上がらないなら、画像圧縮やサイズ調整で減らしてから試してみてください。
変換ツールはどんな基準で選ぶ?
画像を別の形式に変えてくれるサービスはとてもたくさんあります。どちらが優れているかというより、自分の状況に合うほうが別にあるということです。三つだけ自分に問えば答えが出ます。
- このファイルは外部に出しても差し支えない性質ですか。人物写真や身分に関わる画像なら、処理のしかたと保管の方針をまず確認してから上げてください。
- 一度きりですか、これからも繰り返しますか。繰り返す作業なら、登録の手続きや一日の回数制限がそのまま時間の負担になります。
- 画像だけですか、動画や音声もですか。扱うファイルが画像の外に出るなら、その形式にも対応しているサービスが合っています。
ここで紹介する画像形式の変換は登録なしで無料、複数枚をまとめて上げて形式を指定できます。写真をサーバーに保存せず、処理の直後に破棄します。
一行でまとめると
拡張子を直すのは名札を替える作業で、画像形式の変換は中に入っている内容を書き直す作業です。弾かれたなら、たいていはこのふたつを同じことだと思ったところから始まっています。
いま上がらないファイルがあるなら、画像形式の変換に上げて希望の形式で保存し直してみてください。寸法や容量が引っかかるなら、サイズ調整と画像圧縮を一緒に使えば済みます。
参考資料
- MDN Web Docs「ウェブで使われる画像ファイル形式」:形式ごとの圧縮方式と透明への対応、用途別の推奨。資料を見る
- W3C「Portable Network Graphics (PNG) Specification」:PNGのファイル構造と可逆圧縮・アルファチャンネルの規格。資料を見る