[« zurück zu übersicht]
die methode Image.Save(string, ImageCodecInfo, EncoderParameters) aus dem namespace 'System.Drawing' scheint auf nt4-systemen nicht korrekt zu funktionieren. versucht man eine groessere datei mit einer kleineren zu ueberschreiben, so bleibt die dateigroesse unveraendert auf dem wert der groesseren datei. unter xp tritt dieser fehler nicht auf.

using System;
using System.Drawing;
using System.Drawing.Imaging;

namespace ConsoleApplication1
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Bitmap myBitmap1 = new Bitmap(1000,1000);
            myBitmap1.Save(".\\bitmap1.jpg", ImageFormat.Jpeg);
            myBitmap1.Dispose();
            Bitmap myBitmap2 = new Bitmap(10,10);
            myBitmap2.Save(".\\bitmap2.jpg", ImageFormat.Jpeg);
            System.IO.FileInfo  fileInfo1 = new System.IO.FileInfo(".\\bitmap1.jpg");
            Console.WriteLine("File '{0}' created of size {1} bytes", ".\\bitmap1.jpg", fileInfo1.Length);
            System.IO.FileInfo  fileInfo2 = new System.IO.FileInfo(".\\bitmap2.jpg");
            Console.WriteLine("File '{0}' created of size {1} bytes", ".\\bitmap2.jpg", fileInfo2.Length);
            // save the small bitmap with the filename of the larger one:
            myBitmap2.Save(".\\bitmap1.jpg", ImageFormat.Jpeg);
            myBitmap2.Dispose();
            fileInfo1.Refresh();     
            Console.WriteLine("File '{0}' is still of size {1} bytes...", ".\\bitmap1.jpg", fileInfo1.Length);
        }
    }
}





wenn man diesen effekt vermeiden will. bleibt also nichts anderes uebrig, als die betreffende datei über einen expliziten stream zu schreiben.

Kommentare
Noch keine Kommentare

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss um dieses Verfahren anzuwenden.
CAPTCHA

Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden