2013-07-29 14 views
1

ios`s 시스템 카메라를 사용하여 두 장의 사진을 찍습니다. 하나는 세로 모드이고 다른 하나는 가로 모드입니다. 그런 다음 imagePicker를 사용하여 이 :UIImageOrientation by UIImageOrientation by the portrait/landscape mode photo

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 

    UIImage* sourceImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 


    UIImageOrientation imageOrientation = sourceImage.imageOrientation; 
    NSLog(@"%d",imageOrientation); 

} 

내가 방금 선택한 이미지의 UIImageOrientation 값을 NSLog 로그 아웃합니다. 결과는 인물 모드 사진의 값은 3 (UIImageOrientationRight를 나타냄)이며 가로 모드 사진은 0 (UIImageOrientationUp)입니다. 그 이유는 모르겠습니다. 아무도 그것을 설명 할 수 있습니까? 감사!

+1

이 주제를 확인하십시오. http://stackoverflow.com/questions/10850184/ios-image-get-rotated-90-degree-after-saved-as-png-representation-data –

+0

이 질문을 통해 나를 올바르게 알 수있었습니다. 대답. 그게 최대 득표 수를 계산해야합니다. – Patricia

+0

그 질문은 정당한 사유가없는 이유로 내려졌습니다. 완벽하게 유효한 질문입니다. – GrandSteph

답변

2

iPhone의 카메라는 장치 방향에 관계없이 사진을 저장하지만이 이미지가 제대로 렌더링 될 수 있도록 이미지에 메타 정보를 추가합니다. imageOrientation은 이미지를 올바르게 렌더링하기 위해 회전해야하는 각도를 나타냅니다.

+0

Thanks @Max K.! UIImageOrientationRight 인물 사진은 시스템이 CCW를 90도 회전시켜 제대로 렌더링해야한다는 의미입니까? – wdanxna

+1

예, 자세한 내용은 'UIImage' 참조 http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html을 참조하십시오. 이러한 상수가 실제로 무엇을 의미 하는지를주의 깊게 읽으십시오. –

+0

그것은 풍경으로서 저장하는 것처럼 보이는 것은 믿어지지 않는 정도로 혼란 스럽거나 이상하다?? 그래서 항상 기본 세로 모드는 UIImageOrientationRight입니다. 나는 생각한다. – Fattie