1

縦向きの JPGS を読み込んで AVAssetWriter を使用しようとすると、結果の mov ファイルが 90 度回転するのはなぜですか?

他の人はこれを見ましたか?

4

1 に答える 1

1

ポートレート jpg が iPhone で作成された場合、それらのネイティブ ピクセル フォーマットは実際にはランドスケープです。jpg が表示されたときにビューを回転させて正しい向きで表示するように iOS に指示するメタデータ フラグがあります。

AVAssetWriter を使用して mov を作成する場合、mov は向きのメタデータを使用しないと思います。そのため、横向きのネイティブ ピクセル方向で mov が表示されます。画像は時計回りに 90 度回転したように見えます。オリエンテーション メタデータを mov ファイルに引き継ぐことができる可能性はありますが(私はテストしていません)、メタデータを認識する環境での再生/プレゼンテーションに依存するため、これは非常に堅牢なソリューションにはなりません。

これを修正する最善の方法は、方向フラグを確認することです。縦向きの場合は、物理的に jpg を縦向きに回転させ、新しいビットマップに書き込みます。この新しいビットマップを AVAssetWriter の入力として使用します。

ここにいくつかの関連情報があります:
IOS 6.0 または iPhone でアップロード中にキャプチャされた写真が自動的に回転する
UIImagePickerController に強制的に写真を縦向き/寸法で撮影させる iOS

于 2013-01-28T22:57:59.540 に答える