ハトネコエ Web がくしゅうちょう

プログラミングやサーバー・Web制作、チームマネジメントなど得た技術のまとめ

HEIF (.heic) という画像ファイル形式が存在するのを知った

iOS エンジニアの人たちにとっては当たり前なのかもしれないんですけど最近知りました。

Apple 製のデバイスで HEIF/HEVC メディアを扱う - Apple サポート

ここにある通り、 iOS 11 以降では、カメラで撮った写真の保存形式が
HEIF というファイル形式(拡張子は .heic )になっているそうです。

設定画面から保存フォーマットを『互換性優先』にすれば、
今まで通りの JPEG でも保存できるそうですが、おそらく HEIF がデフォルトなんじゃないかなと思います。

さて、これで困るのがWebエンジニアです。

ユーザーからしてみればどう見ても画像ファイルなわけなので、
ウェブサイトに画像添付フォームがあれば HEIF 形式の画像を添付するのですが、
困ったことにウェブブラウザ側は HEIF 形式の画像を表示できません

2019年12月現在、HEIF に対応しているブラウザはありません。
https://caniuse.com/#feat=heif

じゃあどうするか、と考えていくうちに、
ImageMagickJPEG に変換してサイトで表示をおこなう、という方法が浮かびました。

Rails なら rmagickminimagick を使うわけですね。

しかし Ubuntu の apt からデフォルトで入る ImageMagick は HEIF に対応していません。
これでは HEIF から JPEG への変換がおこなえません。

というわけで作りました。

HEIC/HEIF 対応した ImageMagick をインストールできる Dockerfile です。
これを参考にお使いの Dockerfile に組み込んでいただけたらいいのでは、と思います。

github.com

作成にあたっては、

を参考にしました。ありがとうございました。