Bild aus Datenbank in WPF Image
-
Mittwoch, 2. Januar 2013 10:09
Guten Morgen zusammen,
ich hätte da mal (wieder) eine Frage. Ich möchte aus einer DB Bilder abrufen und diese dann in WPF Image darstellen.
Mein Problem ist wie ich die Bilder dem Image übergebe, also ob ich das über ein Binding machen kann oder ob ich erst die Bilder aus der DB abrufen und umwandeln muss.
Ich weiß nicht wie ich dem Image eine neu Uri geben kann, die von einer DB kommt
Der Aufbau sieht so aus, das ich in einer ListBox eine Liste mit Namen der Bilder habe und ich würde gern wenn man ein Eintrag ausgewählt hat, dass das Bild in einem Image daneben angezeigt wird.
Ich hoffe es ist einigermaßen nachvollziehbar was ich meine.
Viele Grüße Jo
- Bearbeitet Joachim Hiller Mittwoch, 2. Januar 2013 13:22
Alle Antworten
-
Donnerstag, 3. Januar 2013 09:50
Nach langen hin und her habe ich eine Lösung gefunden- Als Antwort markiert Joachim Hiller Donnerstag, 3. Januar 2013 09:51
-
Donnerstag, 3. Januar 2013 10:07Moderator
Hallo Joachim,
Kannst Du das versuchen:
Dim stream As New MemoryStream(Abfrage.First.Bi_Bild.ToArray)) stream.Seek(0, SeekOrigin.Begin)
Gruss,
Ionut
-
Donnerstag, 3. Januar 2013 10:34Hi Joachim,ich hoffe, dass die Lösung nicht geheim bleiben muss.--
Peter Fleischer -
Freitag, 4. Januar 2013 06:59
Guten Morgen,
nein die Lösung muss nicht geheim bleiben. Mein Fehler war schon beim abspeichern von dem Bild. Ich habe das jetzt so gelöst:
Dim nBild As New Bilder() Dim bytes() As Byte = File.ReadAllBytes(filepath) With nBild .Bi_Bild = bytes .Bi_FK_Stuecke = Stueck_ID .Bi_Info = Bildname End With 'Neues Bild in Collection einfügen
ModVariable.N_Bilder.Add(nBild)Und zum abrufen eines Bilds verwende ich
Dim Abfrage = From b In db.Bilder Where b.Bi_ID = CType(lbBilder.SelectedItem, Bilder).Bi_ID Select b Dim pic As New BitmapImage() pic.BeginInit() pic.StreamSource = New MemoryStream(Abfrage.First.Bi_Bild.ToArray()) pic.EndInit() IMG.Source = picEs ist bestimmt nicht die beste Lösung doch jetzt klappt es ohne Probleme
Grüßle
Jo

