Entwickler-Ecke

Multimedia / Grafik - System.OutOfMemoryException beim Abspeichern von Bildern


der.flori - Di 02.09.08 15:38
Titel: System.OutOfMemoryException beim Abspeichern von Bildern
Hallo,
ich durchlaufe mit einer Schleife viele Bilder, die mit einer Funktion verkleinert und zugeschnitten werden sollen!
Die Methode funktioniert einwandfrei, ich bekommen irgendwann jedoch eine System.OutOfMemoryException, d.h. die Auslagerungsdatei ist voll.
Habe auch schon versucht mit XXX.Dispose() die Objekte wieder freizugeben, jedoch ohne Erfolg.
Hier ein kleines Codebeispiel der besagten Funktion:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
public void thumb(string quelle, string ziel)
{
       Bitmap bmp = new Bitmap(Image.FromFile(quelle));

       //Verändern des Bildes       

       bmp.Save(ziel,ImageFormat.Jpeg);  
}


Kha - Di 02.09.08 17:16

FromFile erzeugt ein neues Image, das ebenfalls freigegeben werden will. Die Methode brauchst du aber gar nicht, da Bitmap auch direkt einen Konstruktor mit String-Argument besitzt. Um das Ganze noch einen using-Block, dann sollte es passen.


der.flori - Mi 03.09.08 08:21

Hallo,
Vielen Dank!
Habe bis jetzt noch nie mit einem using-Block gearbeitet, funktioniert prima :)