У меня проблемы с правильной ориентацией изображений на iPhone. Я получаю доступ к изображениям с помощью классов AssetLibrary.
Все, что я хочу сделать, это правильно ориентировать изображения для отображения, к сожалению, для некоторых изображений, снятых в портретном режиме, они имеют ориентацию, которая не имеет смысла.
В блоке, который вызывается платформой, я выполняю следующие вызовы для изображения, сделанного камерой iPhone, когда оно было ориентировано вверх:
ALAssetRepresentation *representation = [myasset defaultRepresentation];
ALAssetOrientation orient = [representation orientation];
ALAssetOrientation alorient = [[myasset valueForProperty:@"ALAssetOrientation"] intValue];
UIImage *timg = [[UIImage alloc] initWithCGImage:[representation fullScreenImage]];
UIImageOrientation imgorient = [timg imageOrientation];
THe variable orient = ALAssetOrientationRight.
The variable alorient = ALAssetOrientationUp.
The variable imgorient = UIImageOrientationUp
Я использовал значение ориентации, чтобы повернуть изображение так, чтобы оно отображалось «вверх». К сожалению, если у меня есть изображение, которое снято в ландшафтном режиме, тот же код не работает, потому что ориентации неверны.
Я пытался создать экземпляр timg, используя scale: direction: overload, используя orient для параметра ориентации, все, что он делает, это инициализирует изображение, устанавливая ориентацию, но неправильно поворачивает изображение.
Это кажется недетерминированным, почему эти вызовы возвращают разные результаты:
ALAssetOrientation orient = [representation orientation];
ALAssetOrientation alorient = [[myasset valueForProperty:@"ALAssetOrientation"] intValue];
Ваша помощь будет принята с благодарностью.
Спасибо,
Будет