2014-02-19 5 views
1

Я пытаюсь загрузить UIImage, который снят с UIImagePickerController, используя UIImageJPEGRepresentation. Но это показывает на сервере с неправильной ориентацией. Прежде всего, я хотел бы спросить, есть ли способ исправить это на моей стороне? Или, если нет, как справиться с этим на сервере?NSData от UIImage. Загрузка на сервер с неправильной ориентацией

Я уже видел iOS 4 Image Oriented Incorrectly When Posted To Server и этот Save UIImage, Load it in Wrong Orientation, но мне нужно показать изображение с правильной ориентацией непосредственно на сервере, не находящемся в приложении.

+2

Посмотрите на http://stackoverflow.com/questions/5427656/ios-uiimagepickercontroller-result-image-orientation-after-upload/5427890#5427890 Это может помочь вам исправить ориентацию изображения. –

+2

@VincentZgueb это может помочь, если я хочу показать изображение в imageView, но изменения ориентации в момент, когда я конвертирую его в NSData и отправляю на сервер. В тот момент, когда мы выбираем изображение из ориентации подборщика, это правильно. – RomanHouse

+0

У меня такая же проблема ... Вы пришли к решению? – Plot

ответ

1

Из того, что я нашел, это, кажется, лучший ответ. iOS UIImagePickerController result image orientation after upload

Добавить категорию UIImage + fixOrientation к вашему проекту и импортировать «UIImage + fixOrientation.h» в ваш контроллер.

Тогда вы должны использовать что-то вроде этого.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *image = [info objectForKey: UIImagePickerControllerOriginalImage]; 
    image = [image fixOrientation]; 

    NSData *data = UIImageJPEGRepresentation(image, 1.0); 

} 
+0

Нет :(Поскольку ориентация меняется в момент, когда мы конвертируем 'UIImage' в' NSData', когда мы его выбираем. – RomanHouse

+1

Вы пробовали это конкретно? Изменение ориентации не вызвано преобразованием его в NSData. Исходное изображение, возвращенное с изображения сборщик имеет ориентацию, сохраненную как данные exif, этот код вращает изображение. –

0

попробовать

UIImage *orientationFixedImage = [UIImage imageWithCGImage:[originalImage CGImage] scale:1.0 orientation:originalImage.imageOrientation];

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