Bild-Informationen ändern und speichern
-
Ich möchte in meinem Programm Bilder laden können, die Beschreibung ändern und das Bild dann wieder speichern. Ich bekomme jedoch immer eine ExternalException. Wenn ich einen anderen Dateinamen verwende, geht alles. Wenn ich auf das Bild rotateFlip anwende, dann geht auch alles.
Es wäre aber ja blöd, wenn ich jedes Bild um 360Grad drehen müsste, um es abspeichern zu können... Was mache ich falsch?System.Drawing.Image img = System.Drawing.Image.FromFile(datei); PropertyItem i = img.PropertyItems[0]; // Ändern der Daten dieses Eintrags i.Id = 0x010E; // PropertyTagImageDescription i.Type = 2; i.Value = System.Text.Encoding.ASCII.GetBytes(s); i.Len = i.Value.Length; // das neue Property hinzufügen img.SetPropertyItem(i); img.Save(datei, ImageFormat.Jpeg);
-
ich habe noch weiter geforscht und verstehe jetzt gar nichts mehr! Wenn ich
img.RotateFlip(RotateFlipType.RotateNoneFlipY); img.RotateFlip(RotateFlipType.RotateNoneFlipY);
verwende, dann geht die Beschreibung verloren. Wenn ich stattdessen jedoch
img.RotateFlip(RotateFlipType.Rotate90FlipNone); img.RotateFlip(RotateFlipType.Rotate270FlipNone);
verwende, dann funktioniert alles. Steckt da noch irgendeine Logik dahinter, die ich nur nicht nachvollziehen kann?