2012-05-25 15 views
5

私のカスタムクロッファーで画像を切り抜こうとしています。 UIImagePickerControllerのものではありません。今、そのために私はUIImagePickerのデリゲートを扱うことにより、UIImgeViewにイメージピッカーから撮影した画像を示す午前:トリミングのためにUIImageをCGImageに変換すると画像が回転する

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo { 
    imvOriginalImage.image = image; 
} 

私はCGImageRefへこの画像を変換する必要があります。イメージはポートレートモードでキャプチャされます。今度はCGImageRefでこの画像を変換すると画像の向きが変わります。私は以下を使用している場合でも:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo { 
    //imvOriginalImage.image = image; 
    CGImageRef imgRef = [image CGImage]; 
    UIImage *img = [UIImage imageWithCGImage:imgRef]; 
    [imvOriginalImage setImage:img]; 

}

画像の向きを変更します。ポートレートモードでキャプチャされた画像の場合にのみ発生します。風景画像にこの問題はありません。

  1. なぜこれが起こっているのですか?
  2. これを解決するには?

ありがとうございました。

+1

UIImage'は、画像を回転さについて知っている 'imageOrientation'プロパティを持っていますが、' CGImageRef'はこのことを知っていない 'ためです。 –

答えて

4

これは、iPhoneのカメラがホームボタンと比較して画像を回転させることです。イメージのメタデータであるEXIFを使用します。このスレッドを参照してください。

iPhone image rotation

関連する問題