Code: Select all
const string i1Path = @"c:\my\i1.jpg";
const string i2Path = @"c:\my\i2.jpg";
var i = Image.FromFile(i1Path);
i.Save(i2Path, ImageFormat.Jpeg);
System.Runtime.InteropServices.ExternalException ist aufgetreten
Ein allgemeiner Fehler ist in GDI+ aufgetreten.
at System.Drawing.Image.Save(String filename, ImageCodecInfo Encoder, EncoderParameters EncoderParams)
at System.Drawing.Image.Save(String filename, ImageFormat format)
at ...
Soweit ich sehen kann, ist an dem Bild nichts Besonderes. Es ist ca. 250 Pixel groß und kann z.B. in einem Browser geöffnet werden. Windows Image Viewer oder Paint.NET:

(Da das obige Bild nach dem Hochladen auf Stack Overflow den Fehler nicht mehr erzeugt, habe ich das Originalbild hier eingefügt.)
Was ich entdeckt habe, ist, dass beim Aufruf der Save-Methode die Die Zielbilddatei wird mit null Bytes erstellt.
Ich habe wirklich keine Ahnung, was den Fehler verursacht.
Meine Fragen:
- Können Sie sich etwas Besonderes vorstellen, das .NET daran hindern würde, das Bild zu speichern?
- Gibt es eine Möglichkeit (abgesehen von der Panik), diese Art von Fehlern einzugrenzen?
Mobile version