Kann ich ein byte[] ein BitmapImage in Silverlight?
Ich versuche, einige passieren Darstellung eines Bildes hin und her zwischen Silverlight und den WCF-Dienst. Wenn möglich würde ich gerne weitergeben eine System.Windows.Media.Imaging.BitmapImage
, denn das würde bedeuten, das der client nicht zu tun haben und keine Konvertierung.
Aber irgendwann muss ich speichern das Bild in einer Datenbank, d.h. die Bild-Darstellung muss in der Lage sein, zu konvertieren und aus byte[]
. Ich kann ein BitmapImage
aus einer byte[]
durch das Lesen der array in ein MemoryStream
und mit BitmapImage.SetSource()
. Aber ich kann nicht scheinen zu finden ein Weg, um zu konvertieren der andere Weg - von BitmapImage
zu byte[]
. Übersehe ich etwas offensichtliches hier?
Wenn es hilft überhaupt nichts, den conversion-code auf dem server ausgeführt, d.h. es muss nicht sein, Silverlight-sicher.
Nein. Das Bild wurde zunächst geladen wird, der über die Auswahl in einem Dialogfeld Öffnen. Der workaround war, den Zugang openDialog.Datei.OpenRead, erstellen Sie einen BinaryReader aus, dass der stream, dann rufen Sie ReadBytes() auf den reader zu bekommen, ein byte[]. Ich habe nicht Schritt halten mit Silverlight 4, kann es eine Lösung jetzt erhältlich.
InformationsquelleAutor goric | 2009-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden:
Wo
InformationsquelleAutor Vladimir Dorokhov
Ich hatte das gleiche Problem.
Ich fand die ImageTools-Bibliothek das macht thte-job viel einfacher.
Holen Sie sich die Bibliothek und Referenz und dann
InformationsquelleAutor R4cOON
Versuchen Sie es mit CopyPixels. Sie können kopieren Sie die bitmap-Daten in ein byte-array. Allerdings, ich bin ehrlich gesagt nicht sicher, was das format der Pixel wäre...das ist wohl abhängig von der Art von Bild, das ursprünglich geladen wurde.
Oh, Entschuldigung. Ich vergaß, dass Silverlight und WPF sind nicht ganz gleich noch.
InformationsquelleAutor jrista