2016-09-14 5 views
0

Meine App ein Foto aus der Kamerarolle auswählen und als NSData speichern. Wenn ich das Bild in meiner App anzeigen muss, erstelle ich das UIImage von NSData.UIImage von NSData mit falscher Ausrichtung

Wenn das Originalfoto ein Bild ist, das ich aus dem Web speichern, google image oder so, hat das UIImage richtige Ausrichtung, wenn das Originalfoto ein Porträtfoto ist, das ich mit dem iPhone schieße, wird das UIImage um 90 Grad gedreht.

Ich kann mir nicht vorstellen, wie man weiß, welches Foto gedreht werden muss und welches in Ordnung ist.

jede Hilfe wird geschätzt.

der Code I Bild als NSData in einer Coredata Entität speichern verwenden:

asset.requestContentEditingInputWithOptions(PHContentEditingInputRequestOptions()) { (input, info) in 
     if let imgurl = input?.fullSizeImageURL { 
      let img = UIImage(data: NSData(contentsOfURL: imgurl)!) 
      self.gearImage = img 
      self.photoImageView.contentMode = UIViewContentMode.ScaleAspectFill 
      self.photoImageView.image = self.gearImage 
     } 
} 

dann speichere ich die NSData in Coredata:

if self.gearImage != nil { 
    newItem.cgPhoto = UIImagePNGRepresentation(self.gearImage!) 
} 

Wenn ich das Bild zu zeigen, habe ich die Abruf- coredata entity und:

Und hier ist das Problem. Wenn das phasset fullSizeImageOrientation null oder 1 ist, ist das Bild in Ordnung, sonst hat es eine falsche Rotation.

Max

+0

Bitte Postleitzahl. –

Antwort

0

Wahrscheinlich ist dies auf das Format, in dem Sie die Daten aus dem Bild zu erzeugen. Versuchen Sie es zuerst von jpg Format zu konvertieren, da nicht alle Formate Informationen über die Drehung des Bildes enthalten. Versuchen Sie etwas wie folgt:

var imageData: NSData? 
if let _jpgData = UIImageJPEGRepresentation(image, 0) { 
    imageData = _jpgData 
} else if let _pngData = UIImagePNGRepresentation(image) { 
    imageData = _pngData 
} 
+0

Wechsel zu UIImageJPEGRepresentation funktioniert, aber ich bin mit dem Problem konfrontiert, seit ich von ALAsset zu Fotos wechselte. – masgar

Verwandte Themen