Salut,
Lorsque je sauvegarde mon image en modifiant les PropertyItem j'ai une erreur de ce type : "Une erreur générique s'est produite dans GDI+."
Erreur que je n'ai pas si je charge et sauvegarde le fichier sans modif
Voici le bout de code problématique
private void AddExifTags()
{
try
{
Encoding encoding1 = Encoding.UTF8;
Image img = new Bitmap(CurrentImageFileName);
PropertyItem[] item = new PropertyItem[0]; // AllCurrentProperties[0];
ExifClass FonctionSetExif = new ExifClass(CurrentImageFileName);
FonctionSetExif.SetExifTextProperty(0x10F, img, FonctionSetExif.EncodeAsciiValue(string.Format(txtMake.Text) + "\0")); //Make
img.Save(CurrentImageFileTmpName);
}
catch (Exception exception1)
{
MessageBox.Show("Error when saving: " + exception1.Message);
}
}
public void SetExifTextProperty(int id, Image img, byte [] text)
{
Encoding encoding1 = Encoding.UTF8;
PropertyItem propitem = this.CreatePropertyItem(ref img, id);
propitem.Type = 2; //Spécifie que Value est une chaîne terminée par le caractère NULL.
propitem.Len = text.Length;
propitem.Value = text;
img.SetPropertyItem(propitem);
}
public PropertyItem CreatePropertyItem(ref Image img, int id)
{
PropertyItem item3;
try
{//verifie si le tag existe
PropertyItem item1 = img.GetPropertyItem(id);
//si il exite on le vide
for (int i = 0; i < item1.Len; ++i)
{
item1.Value[i] = Convert.ToByte ('\0');
}
item3 = item1;
}
return item3;
}
Le metatag existe deja dans le fichier jpeg que je veux modifier les PropertyItem se modifient correctement mais à la sauvegarde j'ai une erreur et un fichier null
Je fais ma sauvegarde avec un nom autre que le fichier chargé car j'ai vu dans les post les problèmes de handles avec des fichiers en cours.
Merci pour votre aide
www.survey-copter.com