Entwickler-Ecke

WPF / Silverlight - WPF Erstellten Barcode als Image anzeigen


Chocoemilio - Mo 05.03.18 16:21
Titel: WPF Erstellten Barcode als Image anzeigen
Hallo Zusammen


Ich habe hier ein kleines Problem und zwar möchte ich den erstellten Barcode(Bitmap) als Image anzeigen lassen.

code:

C#-Quelltext
1:
this.barcodeBox = new Bitmap(Barcode.createBarcode(textBoxArtnr.Text.Trim(), textBoxLagerort.Text.Trim(), 200100));                    

Der Barcode wird richtig erstellt nur der Bitmap zeigt mir eine Fehlermeldung und zwar: Namespacename wurde nicht gefunden
und wenn ich den Namespacename vorne ansetze.


C#-Quelltext
1:
this.barcodeBox = new System.Drawing.Bitmap(Barcode.createBarcode(textBoxArtnr.Text.Trim(), textBoxLagerort.Text.Trim(), 200100));                    

bekomme ich wieder eine Fehlermeldung und zwar System.Drawing.Bitmap kann nicht in System.Windows.Control.Image konvertiert werden.

Ich komm da einfach nicht weiter ?????


Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Mo 05.03.2018 um 16:25


Th69 - Mo 05.03.18 17:32

Hallo,

was für eine Komponente ist barcodeBox? Edit: ok, ist wohl aufgrund der Fehlermeldung System.Windows.Control.Image - s.u.
Und welchen Datentyp gibt Barcode.createBarcode(...) zurück?

Bei WPF wird üblicherweise mit BitmapImage [https://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapimage(v=vs.110).aspx] gearbeitet (anstatt der Bitmap-Klasse).

Edit:
Die Zuweisung muß auf jeden Fall so lauten:

C#-Quelltext
1:
this.barcodeBox.Source = ...                    


Chocoemilio - Di 06.03.18 10:47

Hi

Danke für die Antwort habe jetzt das Bitmap in ein BitmapImage umgewandelt und an das ImageControl übergeben.
Jetzt wird das Bild auch angezeigt.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
System.Drawing.Bitmap dImg = new System.Drawing.Bitmap(Barcode.createBarcode(textBoxArtnr.Text.Trim(), textBoxLagerort.Text.Trim(), 200100));

                MemoryStream ms = new MemoryStream();
                dImg.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                BitmapImage bImg = new BitmapImage();

                bImg.BeginInit();
                bImg.StreamSource = new MemoryStream(ms.ToArray());
                bImg.EndInit();

                this.barcodeBox.Source = bImg;