Android端末から転送したjpgの画像ファイルがWindowsのフォトビューワーで開けなくて困った話です。
結論から書くと、拡張子はjpgだけどファイルの中身は別のWebPという形式だったからWindowsで開けないということでした。
遭遇した事象
Windowsフォトビューワーで画像を開こうとすると、「Windows フォトビューワーでこの画像を開けません。ファイルが破損しているか、大きすぎる可能性があります。」とメッセージが出てしまいます。 ファイルが壊れているのかと、Android端末で確認するとしっかり開けます。
WebP ってなんぞ
Wikipediaに記事があったので引用します。
WebP(ウェッピー)は、米Googleが開発しているオープンな静止画フォーマット。ファイルの拡張子は「.webp」。 ウェブサイトのトラフィック量軽減と表示速度短縮を目的としており、インターネットのWebページで広く使われている非可逆圧縮のJPEGや可逆圧縮のGIF、PNGの置き換えを意図する規格である。JPEGとは異なり、非可逆圧縮でもアルファチャンネルを扱える。 WebP – Wikipedia
どうやらGoogleが作ったファイルの転送量を減らすための画像形式のようです。jpgと全然違いますね。
WebPをjpgに変換
WebPを開けるフリーソフトもありますが、jpgに変換しなおしたほうが管理も楽なため今回は以下の変換ソフトを使います。
jpgやpngをWebPへ複数のファイルを一括変換、またWebPからjpg、pngに一括で逆変換できるようです。
WebPconv | WebPファイル一括変換アプリ | Romeolight
起動に若干時間がかかりますが、以下の画像のようなお洒落なウィンドウが表示されます。
左上の三角ボタンがエンコード兼デコードボタン。下にあるタブでエンコードとデコードの切り替えができます。
使い方は簡単です。
DECODE
タブをクリックします。- ダウンロードしてzipファイルを展開し、Windowsで開けない画像ファイルをドラッグし左上の三角マークをクリックします。
- jpg画像は
WebP_decoded
へ保存されます。
これでWindowsで開けるjpgファイルの完成です。
あとがき
WebP形式なった原因ですが、おそらくGoogleChromeのデータサーバ機能を有効化してたからではと考えています。
上記機能を無効化した後にダウンロードした画像はすんなりWindowsで開けました。通信量削減のために有効化してたけどこんな落とし穴があるなんて思いもしませんでした。
確かにWebP形式のほうがファイルサイズ小さいですけど、拡張子をwebpにするとかもう少しWebP形式だとわかるようにしてほしいですね。
でもまあ、一番なのは、WindowsやMacがWebPにデフォルトで対応してくれることですが。