UIImage
をAVCaptureSession
から受信し、UIImageView
に設定しています。ポートレートモードでは画像が正しい方向に設定されますが、風景モードを使用すると画像は時計回りに90度回転して設定されます。UIImageOrientationを使用してUIImageをランドスケープモードで正しく保存する
私は少し研究を行なったし、私は私の問題を解決するために、この方法でUIImageOrientation
を使用できることを発見:
[UIImage imageWithCGImage:cgimageref scale:1 orientation:orientation]
しかし、私はどのように理解していません。すべての画像でUIImageOrientation
を見ると、ポートレートモードとランドスケープモードの両方で常に3(NSLog(@"%d",UIImageOrientation)
)になります。私はこれがどのように私を助けることができるのか困惑しています。何か不足していますか?ここ
配向コードである:
-(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
self.prevLayer.frame = self.view.bounds;
self.prevLayer.orientation = [[UIDevice currentDevice] orientation];
}
shouldAutorotateToInterfaceOrientation YES返します。
あなたのローテーションコードを投稿してください。ほとんどの場合、デフォルトのローテーションコードが何らかの形で実行されるのを回避したり、回避したりしている可能性があります。したがって、あなたのビューは風景のように見えますが、それはまだ肖像画でレンダリングされている可能性があります。また、Info.plistを再確認し、許可されたローテーションのリストが正確であることを確認してください。 – Sam
上記の私のローテーションコードを追加しました。 Plistはうまく見えます - すべての向きがサポートされています。すべて私には普通のようです。 – Vad
私はちょうど追跡した:デバイスの向きは常に正しいです。 AVCaptureSessionで画像を撮影すると何らかの理由で常に画像の向きが3になります – Vad