Speichern Sie benutzerdefinierte Metadaten in einem von AVFoundation in iOS aufgenommenen Bild

8

Wie speichere ich benutzerdefinierte Metadaten in einem Bild, wenn ich das Bild mit AVFoundation framework ?

erhalte?

Ich weiß, dass ich auf die Eigenschaften zugreifen kann, wenn ich mein Bild als UIImage oder CIImage habe, aber die Eigenschaften, die diese zu haben scheinen, unterscheiden sich voneinander (auch wenn es das gleiche Bild ist).

Bisher greife ich wie folgt auf das Wörterbuch zu: (Code aus Caffeinated Cocoa blog)

%Vor%

Und ich kann mein Bild entweder so speichern:

%Vor%

Oder wie das

%Vor%

KEINE der beiden Optionen gibt mein benutzerdefiniertes Rohdatenverzeichnis zurück.

Zusammenfassend möchte ich mein eigenes Objekt in einem von mir erstellten Feld speichern (in diesem Fall ein cmattitude-Objekt)

PD: Wenn ich% %% das Wörterbuch vor dem Zusammenführen mit dem Bild, es hat alle Dateien wie ich will sie haben.

%Vor%

Aber wenn ich das Wörterbuch vom neuen Bild NSLOG gebe, gibt es mir das für die CIIMage:

%Vor%

Und wenn ich NSLOG NSLog es gibt mir noch weniger Informationen.

Danke!

    
Pochi 20.01.2012, 07:14
quelle

1 Antwort

3

UIImage und CIImage enthalten nicht alle Metadaten. Tatsächlich werden bei der Konvertierung von NSData in eines dieser beiden Formate viele dieser Metadaten entfernt, sodass IMHO, UIImage und CIImage nur verwendet werden sollten, wenn Sie planen, sie in der Benutzeroberfläche anzuzeigen oder zu übergeben es zu CoreImage .

Sie können die Bildeigenschaften wie folgt lesen:

%Vor%

Sie können dann Ihre NSDictionary in eine NSMutableDictionary :

konvertieren %Vor%

Fügen Sie danach die Felder hinzu, die Sie möchten. Beachten Sie, dass EXIF ​​ -Daten gefunden werden, indem Sie die kCGImagePropertyExifDictionary , GPS -Daten nach kCGImagePropertyGPSDictionary usw. ablegen, und so weiter:

%Vor%

Sehen Sie sich die Header-Datei CGImageProperties für alle verfügbaren Schlüssel an.

Okay, jetzt, wo Sie die Änderungen, die Sie an den Metadaten vorgenommen haben, vorgenommen haben, müssen Sie noch ein paar Schritte ausführen:

%Vor%

Und da hast du es.

    
mikeho 25.08.2015, 04:50
quelle

Tags und Links