2013-07-29 4 views
1

Я беру две фотографии с помощью системной камеры ios, которая находится в портретном режиме, а другая в ландшафтном режиме, затем я использую imagePicker, чтобы выбрать их в своем приложении, например это:смущен UIImageОценка портретного/ландшафтного режима фото

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

    UIImage* sourceImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 


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

} 

Обратите внимание, что я NSLog из значения UIImageOrientation изображения я просто выбрал. результат портретный режим фото 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

Спасибо @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

Смежные вопросы