Frage

Ich interessiere mich für manuelles Injizieren von IPTC-Feldern in der JPG-Datei auf Bytes-Ebene.Die JPEG-Datei verfügt über mehrere Metadatensegmente mit anständigen Größenmarkierungen.Die Segmente-Container für IPTC sind:

app13 - beginnt mit FF ED XX XX ..

8bim iptc text metadata - beginnt mit 38 42 49 4D 04 04 00 00 00 00 XX XX ..

iptc field startet mit 1C 02 50 XX XX .. (0x50= 80, IPTC-Feld # 80).

(xx xx= 2 Bytes des Längenwortes, das die Größe der genannten Segmentdaten beschreibt).

Gibt es andere Größenmarkierungen in der JPEG-Datei & Metadaten?Muss ich ihre Größe erhöhen, wenn Sie das Metadatensegment mit benutzerdefinierten IPTC-Feldern anhängen?

Wie kann ich ein benutzerdefiniertes Metadatenfeld (zum Beispiel # 225) hinzufügen, das auf allen JPEG-Bildern funktioniert, die bereits ein IPTC-Segment enthalten?

in c # arbeitet, aber es ist eine Frage zum Vorgang auf Bytes, also denke ich, dass die Sprache spielt keine Rolle.

War es hilfreich?

Lösung

Da antwortete niemand, was ich erkläre, was ich getan habe.

ad 1. Die oben genannten Dateimarker reichen aus, um IPTC manipulieren.

ad 2. Während der manuellen IPTC-Manipulation auf Bytes-Ebene können Sie die Datei problemlos beschädigen, wenn Sie vorhandene Bytes versehentlich entfernen oder überschreiben, insbesondere wenn sie Markierungen (Header einiger JPEG-Dateiteil) sind.

AD 3. Man muss App13 und angemessene 8bm- und IPTC-Marker mit der Länge des neuen Metadatenfelds (Inhaltsgröße + 5 Bytes für IPTC-Header) suchen und erhöhen. Um beispielsweise ein neues Feld # 09 hinzuzufügen, müssen Sie ein 8bm-IPTC-Segment finden (38 42 49 4D 04 04 00 00 00 xx xx) und erhöhen Sie xx xx Bytes mit neuer Wortgröße. Erhöhen Sie dann das Segment Wrapping App13 (Letztes FF ED XX XX-Segment vor 8bm) Größe und schließlich am Ende von 8BIM (Sie kennen das Ende dank des Segments Leggtes), Sie fügen Sie einfach ein neues IPTC-Feld wie 1c 02 09 00 05 hinzu - Fügt Metadatenfeld hinzu # 09 der Länge 5. Die folgenden 5 Bytes gelten als Field-Inhalt= das Wort, das Sie hinzufügen.

Ja, es ist ein bisschen chaotisch, aber arbeitet: -)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top