最初に決める実行環境
Swift HEIC to JPGでは、アプリが動く環境、利用できるフレームワーク、対象OS、入力の取得方法を明確にします。別のプラットフォーム向けのサンプルが、そのまま同じ条件で動くとは限りません。
ファイルの基礎はHEICの説明、iPhoneの撮影設定や既存画像の扱いはiPhoneの写真形式と変換で確認できます。言語の選択と撮影設定は別の話です。
入力からJPG保存までを分ける
- 入力ファイルを取得し、権限と実データを確認します。
- 対象環境で利用できる処理経路で画像をデコードします。
- 複数の画像やフレームから出力対象を決めます。
- 向き、色、透明部分の合成方針を決めます。
- JPGへエンコードして保存し、保存したファイルを読み直します。
Swift HEIC to JPGは、拡張子や媒体型を付け替えるだけの処理ではありません。デコード、エンコード、保存の成功を別々に確認すると、問題が起きた段階を特定しやすくなります。
透明部分と見た目の扱い
JPGで使う背景や出力品質は、採用したAPIの挙動も確認して決めます。アルファを含む画像を渡したときに、意図した色で合成されるかを実際のファイルで検証してください。
画像の向きや色が元と異なって見える場合も、取得した画像、デコード後の画素、出力されたファイルを順に確認します。JPGにすると画質が変わることがあります。元の画像と見比べ、必要な仕上がりになっているか確認してください。
画像と撮影情報を別に検証する
Swift HEIC to JPGで画素を保存できても、撮影情報やコンテナーのすべての情報が自動的に移るとは限りません。必要な項目、出力先の表現、使用APIの扱いを確認します。
見える情報と空欄の意味を確認する場合は、HEICのEXIF・画像情報の見方も参考になります。
失敗したときの確認項目
- 入力の取得・アクセスに失敗していないか。
- 対象OSと実行環境で、必要な画像処理が利用できるか。
- 対象画像・フレームを意図どおりに選んでいるか。
- エンコード完了前に保存成功と判断していないか。
- 保存先の権限と、実ファイルの内容を確認したか。
サンプルコードを使うときは、対象プラットフォーム、対応OS、利用するAPIの条件を確認してください。実際の環境で、画像の読み込みからJPGの保存まで試しましょう。
コードを書かずにコピーを作る場合
一度だけJPGが必要なら、HEICをJPGに変換するツールで写真を選んで変換できます。ブラウザーで操作するツールなので、Swiftのアプリに組み込むSDKやAPIとは別です。
MorphioでJPGに変換すると、画質や残る情報が変わることがあります。保存した画像を確認し、元ファイルも残してください。
よくある質問
Swiftの実行環境、JPGの書き出し、撮影情報について。
Swift HEIC to JPGはどの環境でも同じですか?
対象プラットフォーム、OS、利用可能なAPIによって条件が異なります。言語名だけで画像処理の対応は決まりません。
向き、色、透明部分はどう確認しますか?
入力、デコードした画素、書き出したJPGを確認します。透明部分をどの背景へ合成するかも、採用するAPIと実際のファイルで検証してください。
全フレームを自動で保存すべきですか?
用途に合わせて対象を明確にします。主画像だけか、複数の画像やフレームを出力するかを実装で決めてください。
撮影情報はすべて残りますか?
すべてが残るとは限りません。使うAPIで書き出せる情報と、JPGに記録できる情報を確認し、必要な撮影情報が保存されているか検証してください。
アプリに組み込まず、一度だけ変換したい場合は?
上の手動JPG変換ページから進めます。Web上での操作であり、Swift向けSDKや公開APIの呼び出しではありません。