Malheureusement, il semble que LibTiff.Net ne peut lire les tags EXIF et ne peut pas les écrire (libtiff d'origine ne peut pas écrire des balises EXIF soit). Il y a un discussion in the libtiff mailing list pourquoi il en est ainsi. Voici quelques citations de la discussion:
// FIXME -- we don't currently support writing of EXIF fields. TIFF
// in theory allows it, using a custom IFD directory, but at
// present, it appears that libtiff only supports reading custom
// IFD's, not writing them.
Leonard Rosenthol:
I don't really think that libTIFF really wants to start down the
metadata "rabbit hole"...
Bob Friesenhahn:
I do agree with Leonard Rosenthol that libtiff should not be in the
business of dealing with EXIF private IFD tags (even though it
somewhat does already).
Quant au Unknown tag EXIF_USERCOMMENT
, vous devriez read an EXIF directory first. La bibliothèque ajoutera des balises EXIF à sa liste de balises connues avant de lire le répertoire EXIF et ne produira plus l'erreur sur les balises inconnues plus tard.
Mais la bibliothèque ne pourra toujours pas écrire les balises EXIF dans le fichier.
EDIT:
Vous avez quelques options si vous voulez seulement stocker des informations dans votre dossier et pas besoin d'être stocké dans la balise EXIF_USERCOMMENT
.
Vous pouvez utiliser la balise IMAGEDESCRIPTION
pour votre tâche. Voici un exemple de code qui utilise cette balise. Veuillez noter que le code utilise différents paramètres pour la méthode Open
et utilise également RewriteDirectory
au lieu de WriteDirectory
.
string fileName = "C:\\temp\\~tempCapture.tif";
using (Tiff tiffdoc = Tiff.Open(fileName, "a"))
{
tiffdoc.SetDirectory(0);
bool bSetField = tiffdoc.SetField(TiffTag.IMAGEDESCRIPTION, "test comment field");
tiffdoc.RewriteDirectory();
}
La bibliothèque écrit des avertissements et des erreurs sur la console. Pourriez-vous les poster (le cas échéant) ici? – Bobrovsky
SetField: c: \ temp \ ~ tempCapture.tif: balise inconnue EXIF_USERCOMMENT – MartinJPLAJP
Je vous remercie de votre attention. Nouveau à EXIF, donc je manque probablement quelque chose d'évident :) – MartinJPLAJP