Image.save(..) unter gleichem Namen

Hallo zusammen

Ich versuche ein Bild in ein Image-Objekt zu laden und wieder zu speichern. Leider gelingt mir das zurückspeichern nur, wenn ich auch eine Veränderung des Bildes vornehme (z.B. das Bild spiegeln). Wenn ich keine Änderung vornehme, kriege ich eine GDI+ Fehlermeldung.

Beispielcode:

string filename = @„C:\P7150081.JPG“;

using (Image img = Image.FromFile(filename))
{
//img.RotateFlip(RotateFlipType.RotateNoneFlipY);

img.Save(filename); // hier kommt eine Exception,
// es sei denn ich führe vorher
// RotateFlip aus …
}

In meinem Programm manipuliere ich ausschliesslich EXIF-Tags von Jpegs. Irgendetwas bewirkt der „rotateFlip“, was das Speichern in die Quelldatei wieder erlaubt. Das Speichern unter einem anderen Dateinamen funktioniert immer.

Klar könnte ich zweimal RotateFlip ausführen, scheint mir allerdings eine sehr dumme Lösung zu sein; einerseits verliere ich Rechenzeit, und vielleicht sogar an Qualität des Bildmaterials.

Ich vermute dass die RotateFilp-Manipulation die Bindung des Image-Objekts an die physische Datei löst.

Hat jemand eine Idee, was ich dem Image-Objekt sonst antun muss, damit es sich ohne zu sträuben wieder unter dem Originalnamen speichern lässt?

Danke für Eure Ideen.
Gruss
Patrick