Entwickler-Ecke
IO, XML und Registry - Bild in Stream laden und in Picturebox anzeigen
Raven280438 - Do 07.10.10 21:03
Titel: Bild in Stream laden und in Picturebox anzeigen
Hi,
ich möchte ein Bild in einem FileStream speichern und später in einer PictureBox ausgeben.
C#-Quelltext
1: 2: 3: 4: 5: 6:
| FileStream textur_stream; [...] StreamReader sr = new StreamReader(this.openFileDialog1.FileName); this.textur_stream = sr.ReadToEnd(); [...] this.pB_textur.Image = Image.FromStream(textur_stream); |
Das funktioniert aber nicht:
Zitat: |
C:\Users\Roman\Documents\Visual Studio 2008\Projects\ST - Textur\ST - Textur\Form1.cs(59,46): error CS0029: Cannot implicitly convert type 'string' to 'System.IO.FileStream'
|
Kann mir jemand sagen wie ich es richtig mache?
Gruß
Kha - Do 07.10.10 21:57
Ein StreamReader ist ein TextReader, der hat hier sicher nichts zu suchen. Schau dir lieber einmal die FileStream-Konstruktoren an.
Yogu - Do 07.10.10 22:03
Hallo,
wo hast du denn den Code her? Selbst geschrieben?
Raven280438 hat folgendes geschrieben : |
C#-Quelltext 1:
| StreamReader sr = new StreamReader(this.openFileDialog1.FileName); | |
Wozu brauchst du denn einen
StreamReader?
Raven280438 hat folgendes geschrieben : |
C#-Quelltext 1: 2:
| FileStream textur_stream; this.textur_stream = sr.ReadToEnd(); | |
Raven280438 hat folgendes geschrieben : |
C#-Quelltext 1:
| this.pB_textur.Image = Image.FromStream(textur_stream); | |
Die Methode
StreamReader.ReadToEnd [
http://msdn.microsoft.com/de-de/library/system.io.streamreader.readtoend.aspx] gibt einen String zurück, der den ganzen Streaminhalt als Text enthält.
Raven280438 hat folgendes geschrieben : |
Kann mir jemand sagen wie ich es richtig mache? |
Wenn wirklich einige Zeit zwischen dem Laden und dem zuweisen zur PictureBox vergeht, könntest du den Inhalt des Streams in einem
MEMORYSTREAM zwischenspeichern:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| MemoryStream memoryStream = new MemoryStream();
using (FileStream fileStream = new FileStream(Dateiname)) { fileStream.CopyTo(memoryStream); }
memoryStream.Seek(0, SeekOrigin.Begin);
pB_texture.Image = Image.FromStream(memoryStream); |
Aber warum öffnest du die Datei nicht einfach erst, wenn du sie brauchst? Existiert sie dann nicht mehr?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!