Konvertierung System.Byte [], um das Bild in das picturebox-Steuerelement in Windows forms
Ich habe eine Tabelle, wo das Bild gespeichert wurde und beim laden der form, die ich abrufen der Daten und die Daten im System.Byte[].
Ich soll diese Anzeige in der Bild-box in der Fenster bilden.
Ich verwende die Sprache C# und SQL SERVER 2005
mein code geht so :
Byte[] byteBLOBData = (Byte[])(dt.Rows[count]["stud_photo"]);
MemoryStream ms = new MemoryStream(byteBLOBData);
ms.Write(byteBLOBData, 0, byteBLOBData.Length);
photo.Image = Image.FromStream(ms); --- here i am having an error "Parameter not valid"
Bitte kann mir jemand helfen ...es ist sehr wichtig für mein Projekt. Vielen Dank im Voraus
InformationsquelleAutor user676521 | 2011-03-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stream-position zurück, um die Anfang:
Das problem ist der stream position ist am Ende, so dass, wenn die Bild versucht, es zu Lesen, Sie gelesen werden, null-byte -.
byte[]
in dieMemoryStream
's Konstruktorms
hat schon alle Informationen. Entweder dieWrite(...)
unnötig ist, oder einMemoryStream
geschaffen werden sollte, mit dem parameterlosen Konstruktor oder mit einer Leistung. Das weglassen der Erstellung vonMemoryStream
durch Ihr Beispiel impliziert, dass die OP ' s verwenden, die eine weniger-als-idealen Lösung.InformationsquelleAutor Aliostad
Position ist in der Tat dein problem. Jedoch der Konstruktor bereits initialisiert die Speicher-stream, die Sie nicht haben, um call Write(). Löschen Sie es einfach, und die Position wird in Ordnung sein als gut.
InformationsquelleAutor Hans Passant
InformationsquelleAutor Subek Shakya
InformationsquelleAutor brook