Jak uzyskać prawidłowo obróconą UIImage z ALAssetRepresentation?
Staram się prawidłowo obrócićUIImage
zALAssetRepresentation
używającfullScreenImage
metoda. Mam kilka zdjęć testowych wykonanych w różnych orientacjach urządzenia; zdjęcia są poprawnie wyświetlane w aplikacji Zdjęcia. Dokumentacja dlafullScreenImage
mówi:
W systemie iOS 5 i nowszych ta metoda zwraca w pełni przycięty, obrócony i dostosowany obraz - dokładnie tak, jak użytkownik zobaczyłby go na zdjęciach lub w selektorze obrazów.
Aby utworzyć prawidłowo obróconeUIImage
obiekt zCGImage
, używaszimageWithCGImage:scale:orientation:
lubinitWithCGImage:scale:orientation:
, przekazując wartościorientation
iscale
.
Biorąc pod uwagę dokumenty, mój kod wygląda tak:
ALAssetRepresentation *rep = [asset defaultRepresentation];
UIImage *img = [UIImage
imageWithCGImage:[rep fullScreenImage]
scale:[rep scale]
orientation:[rep orientation]];
Ale wynikająceUIImage
Obrót jest nieprawidłowy. Kiedy wymieniam[rep orientation]
zUIImageOrientationUp
, obraz jest odpowiedni dla wszystkich zdjęć testowych. Oczywiście waham się, aby trzymać się tego „rozwiązania”, ponieważ wydaje mi się, że to hack. Co ja robię źle?