Question

Je suis intéressé par l'manuellement l'injection de champs IPTC en format JPG sur octets niveau.Fichier JPEG a plusieurs métadonnées avec des segments de taille respectable marqueurs.Les segments de conteneurs pour IPTC sont:

App13 - commence par FF ED XX XX ..

8BIM IPTC des métadonnées de texte - commence avec 38 42 49 4D 04 04 00 00 00 00 XX XX ..

IPTC champ commence avec 1C 02 50 XX XX .. (0x50 = 80, IPTC champ n ° 80).

(XX XX = 2 octets de longueur de mots décrivant la taille des données de segment).

Existe-il d'autres marqueurs de taille en fichier JPEG et métadonnées à regarder dehors pour?Dois-je augmenter leur taille lors de l'ajout de métadonnées segment personnalisé champs IPTC?

Comment puis-je ajouter des champs de métadonnées (par exemple n ° 225), qui fonctionne sur toutes les images JPEG qui contiennent déjà des IPTC segment?

Travaillant en C# mais c'est une question sur les opérations sur les octets, donc je suppose que la langue n'a pas d'importance.

Était-ce utile?

La solution

Puisque personne n'a répondu, je vais vous expliquer ce que j'ai fait.

ad 1.Le fichier de marqueurs que j'ai mentionnés ci-dessus sont assez pour manipuler les IPTC.

ad 2.Lors de manuel IPTC de manipulation sur les octets' niveau, vous peut facilement causer des dommages de fichier si vous avez accidentellement supprimer ou de remplacer existant octets, surtout si elles sont des marqueurs (en-têtes de certains de fichier JPEG partie).

ad 3.On a trouver et d'augmenter App13 et appropriée 8BIM et IPTC des marqueurs avec la longueur de nouveaux champs de métadonnées (de la taille du contenu + 5 octets pour IPTC en-tête).Ainsi, par exemple, pour ajouter un nouveau champ #09 vous devez trouver 8BIM IPTC segment (38 42 49 4D 04 04 00 00 00 00 XX XX) et l'augmentation des XX XX octets avec le nouveau mot de taille.Puis l'augmentation de l'emballage App13 segment (trouver derniers FF ED XX XX segment avant 8BIM) taille et enfin, à la fin de 8BIM (vous savez la fin grâce à l'segment de longueur octets) vous venez d'ajouter un nouveau champ IPTC comme 1C 02 09 00 05 - ajoute le champ de métadonnées #09 de longueur 5.Les 5 octets sera considéré comme un champ content = le mot que vous ajoutez.

Ouais c'est un peu chaotique mais qui fonctionne :-)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top