Wie bekomme ich ein korrekt gedrehtes UIImage aus einer ALAssetRepresentation?
Ich versuche, eine korrekte Drehung zu erzielenUIImage
von einemALAssetRepresentation
Verwendung derfullScreenImage
Methode. Ich habe mehrere Testfotos in verschiedenen Geräteausrichtungen aufgenommen. Die Fotos werden in der Fotos-App korrekt angezeigt. Die Dokumentation fürfullScreenImage
sagt:
In iOS 5 und höher gibt diese Methode ein vollständig zugeschnittenes, gedrehtes und angepasstes Bild zurück - genau so, wie es ein Benutzer in Fotos oder in der Bildauswahl sehen würde.
So erstellen Sie eine richtig gedrehteUIImage
Objekt aus demCGImage
, Sie verwendenimageWithCGImage:scale:orientation:
oderinitWithCGImage:scale:orientation:
Übergeben der Werte vonorientation
undscale
.
In Anbetracht der Dokumente sieht mein Code folgendermaßen aus:
ALAssetRepresentation *rep = [asset defaultRepresentation];
UIImage *img = [UIImage
imageWithCGImage:[rep fullScreenImage]
scale:[rep scale]
orientation:[rep orientation]];
Aber das ErgebnisUIImage
Ist falsch. Wenn ich ersetze[rep orientation]
mitUIImageOrientationUp
ist das Bild für alle Testfotos in Ordnung. Offensichtlich zögere ich, an dieser "Lösung" festzuhalten, da es sich wie ein Hack anfühlt. Was mache ich falsch?