Как получить правильно повернутый UIImage из ALAssetRepresentation?
Я пытаюсь правильно повернутьUIImage
изALAssetRepresentation
с использованиемfullScreenImage
метод. У меня есть несколько тестовых фотографий, снятых в различных ориентациях устройства; фотографии правильно отображаются в приложении Фотографии. Документация дляfullScreenImage
говорит:
In iOS 5 and later, this method returns a fully cropped, rotated, and adjusted image—exactly as a user would see in Photos or in the image picker.
To create a correctly-rotated UIImage
object from the CGImage
, you use
imageWithCGImage:scale:orientation:
or
initWithCGImage:scale:orientation:
, passing the values of orientation
and scale
.
Учитывая документы, мой код выглядит так:
ALAssetRepresentation *rep = [asset defaultRepresentation];
UIImage *img = [UIImage
imageWithCGImage:[rep fullScreenImage]
scale:[rep scale]
orientation:[rep orientation]];
Но в результатеUIImage
Ротация неверна. Когда я заменяю[rep orientation]
сUIImageOrientationUp
Изображение подходит для всех тестовых фотографий. Очевидно, я не решаюсь придерживаться этого решения, поскольку это похоже на взлом. Что я делаю неправильно?