Я пытаюсь получить правильно повернутый UIImage
от ALAssetRepresentation
с использованием метода fullScreenImage
. У меня есть несколько пробных фотографий, снятых в различных ориентациях устройства; фотографии отображаются правильно в приложении «Фотографии». Документация fullScreenImage
говорит:Как получить правильно повернутый UIImage из ALAssetRepresentation?
В прошивке 5 и позже, этот метод возвращает полностью обрезанный, поворачивать и отрегулировать изображение, точно так, как пользователь будет видеть на фотографиях или в изображении подборщика.
Чтобы создать правильно повернутые
UIImage
объекта изCGImage
, вы используетеimageWithCGImage:scale:orientation:
илиinitWithCGImage:scale:orientation:
, передавая значенияorientation
иscale
.
Учитывая документы, мой код выглядит следующим образом:
ALAssetRepresentation *rep = [asset defaultRepresentation];
UIImage *img = [UIImage
imageWithCGImage:[rep fullScreenImage]
scale:[rep scale]
orientation:[rep orientation]];
Но в результате вращения UIImage
«s неправильно. Когда я заменяю [rep orientation]
на UIImageOrientationUp
, изображение подходит для всех тестовых фотографий. Очевидно, я не решаюсь придерживаться этого «решения», поскольку это похоже на взлом. Что я делаю не так?
Здравствуйте, Хендрик, и еще раз спасибо за ответ! Затем я отправлю запрос об ошибке в отношении документации, так как на самом деле не ясно, что второй абзац применим только к iOS4. PS: вы можете оставить свою подпись с ваших сообщений, см. [Этот мета-поток] (http://meta.stackexchange.com/questions/5029/are-taglines-signatures-disallowed). – zoul
Представлен как [rdar: // 11604456] (http://openradar.appspot.com/11604456) и разрешен месяц спустя в выпуске iOS 6, оставив второй, слегка запутанный абзац. – zoul
Спасибо! Я боролся с этим (и другими связанными проблемами) уже около недели. Это первый ответ, который действительно имел смысл и работал на iOS5/iOS6. Ты мой герой;) –