HEIF (.heic) という画像ファイル形式が存在するのを知った
iOS エンジニアの人たちにとっては当たり前なのかもしれないんですけど最近知りました。
Apple 製のデバイスで HEIF/HEVC メディアを扱う - Apple サポート
ここにある通り、 iOS 11 以降では、カメラで撮った写真の保存形式が
HEIF というファイル形式(拡張子は .heic )になっているそうです。
設定画面から保存フォーマットを『互換性優先』にすれば、
今まで通りの JPEG でも保存できるそうですが、おそらく HEIF がデフォルトなんじゃないかなと思います。
さて、これで困るのがWebエンジニアです。
ユーザーからしてみればどう見ても画像ファイルなわけなので、
ウェブサイトに画像添付フォームがあれば HEIF 形式の画像を添付するのですが、
困ったことにウェブブラウザ側は HEIF 形式の画像を表示できません。
2019年12月現在、HEIF に対応しているブラウザはありません。
https://caniuse.com/#feat=heif
じゃあどうするか、と考えていくうちに、
ImageMagick で JPEG に変換してサイトで表示をおこなう、という方法が浮かびました。
Rails なら rmagick や minimagick を使うわけですね。
しかし Ubuntu の apt からデフォルトで入る ImageMagick は HEIF に対応していません。
これでは HEIF から JPEG への変換がおこなえません。
というわけで作りました。
HEIC/HEIF 対応した ImageMagick をインストールできる Dockerfile です。
これを参考にお使いの Dockerfile に組み込んでいただけたらいいのでは、と思います。
作成にあたっては、
- Ubuntu18.04でHEIC形式の画像ファイルをJPG、PNG形式に変換するための手順
- 5 minutes to Install Imagemagick with HEIC support on Ubuntu 18.04 DigitalOcean
を参考にしました。ありがとうございました。