iPhone, wie liest man ein Bild aus der Foto-Bibliothek als NSData?

8

Auf dem iPhone speicherte ich ein Bild in der Fotobibliothek mit Änderungen (Anhängen von Daten nach dem Bildcode) unter Verwendung der Assemblierungsbibliothek, um die NSData direkt in der Fotobibliothek zu speichern. Jetzt möchte ich das Bild aus der Fotobibliothek als NSData lesen, um es zu lesen. Wenn ich es als UIImage lese, ändert es die Daten innerhalb des Bildes.

Wie kann ich das Foto aus der Fotothek als NSData lesen? Ich habe versucht, in 4.1 die Referenz-URL zu suchen, aber kein Glück.

Bearbeiten: Ich bearbeitet, um zu erklären, warum ich es als NSData speichern. Die URL-Methode in den Antworten funktioniert, wenn Sie nur reine NSData haben wollen, aber in dem Kontext, den ich stelle, nicht helfen.

Edit 2: Die Antwort mit den getBytes war die Antwort, die es für mich getan hat. Der Code, den ich verwendete, war:

%Vor%

Dies war in der Lage, alles in die Datei zu bekommen, was mir den Bildcode PLUS gab, den ich im NSData-Formular hinzugefügt hatte.

Bearbeiten 3:

Gibt es eine Möglichkeit, dies jetzt in iOS 10 mit der PHPhotoLibrary zu tun, die AssetLibrary ersetzt? Ich brauche das Bild in NSData das Original-RAW-Bild ohne Änderungen.

    
SolidSnake4444 13.07.2011, 23:06
quelle

2 Antworten

3

Sie sollten sich die getBytes-Methode von ALAssetRepresentation ansehen. Dies gibt Ihnen die ursprünglichen RAW-Bilddaten Ihres Bildes und ermöglicht es außerdem, einen Puffer zu verwenden, um das Bild zu verarbeiten, anstatt das Bild auf einmal in den Speicher zu lesen. Und natürlich können Sie immer NSData von der Methode getBytes generieren.

Prost,

Hendrik

    
holtmann 16.07.2011, 10:44
quelle
1

Wenn Sie bereits ALAsset haben, sollten Sie in der Lage sein, eine NSData der Standarddarstellung zu erhalten, indem Sie Folgendes verwenden:

%Vor%     
highlycaffeinated 14.07.2011 02:55
quelle