Ich möchte in meinem Programm Bilder laden, die Beschreibung auslesen sowie ändern können. Dabei kommt es aber zu unzähligen Problemen. Das Einlesen klappt noch mittels der PropertyItem-ID ‘0x010E’.
Nach dem Ändern kann das Bild nicht unter gleichem Namen gespeichert werden, es sei denn, man führt eine BildÄnderung durch - bspw. eine Drehung. Der Windows-Explorer erkennt die Änderung nicht, das Programm aber schon (auch nach einem Neustart).
Verwende ich eine falsche PropertyItem-ID oder ist sich Microsoft mit den WPF-Klassen noch nicht so sicher?
System.Drawing.Image img = System.Drawing.Image.FromFile(datei);
PropertyItem i = img.PropertyItems[0];
i.Id = 0x010E; // PropertyTagImageDescription
i.Type = 1;
i.Value = System.Text.Encoding.ASCII.GetBytes(s);
i.Len = i.Value.Length+1;
// das neue Property hinzufügen
img.SetPropertyItem(i);
img.RotateFlip(RotateFlipType.Rotate90FlipNone);
img.RotateFlip(RotateFlipType.Rotate270FlipNone);
img.Save(datei, ImageFormat.Jpeg);