C# Bild mit "nolock" öffnen

Murphy9904

Lt. Junior Grade
Registriert
Mai 2007
Beiträge
344
Hi,
ich möchte ein Bild was in meinem Programm geöffnet ist löschen.

das geht nicht weils ja geöffent ist. - logisch, aber wie kann ich das wieder schliessen?
bzw noch besser: das Bild irgendwie in den cash laden dass ichs anzeigen und löschen kann.


laden tuh ich mir das so:
Code:
BitmapImage img = new BitmapImage(new Uri(@pfadNachIrgendwo));

danke schonmal

Murphy
 
ich kann kein c# aber so gehts theoretisch
Code:
bytes[] daten = lade datei in ram;
BitmapImage img = new BitMapImage(daten)
Du erzeugst also ein Bild nicht aus einem Datei/Pfad-Handle, sondern einem String im Ram.
 
Hier die Lösung:
- Bild als Bytearray in den Arbeitsspeicher laden
- MemoryStream drüberlegen
- Aus dem MemoryStream ein Bild erzeugen

Code:
            byte[] bild = File.ReadAllBytes("c:\\x\\test.bmp");
            MemoryStream ms = new MemoryStream(bild);
            Bitmap bmp = (Bitmap)Bitmap.FromStream(ms);
            pictureBox1.Image = bmp;
 
Kannst im Konstruktor von Bitmap glaube ich auch einen Filestream angeben.
Den dann halt nachher schließen.

EDIT: Hab´s in der msdn gerade nachgeguckt, so geht´s.
 
Danke für eurge ganzen Antworten..
aber irgendwie geht das nicht..
also mit ner Bitmap geht das schon, aber nicht mit nem BitmapImage

und ich brauch aber zwingend ein BitmapImage
 
super danke.. das geht ohne Probleme :)
 
Zurück
Oben