2016-03-28 11 views
1

Ich erstelle eine Webanwendung, die Barcodes generiert, die Daten verwenden, die datengebunden sind. Diese Information ist ein Name aus einer Datenbank.String Literal zu generiertem Barcode-Bild hinzufügen

Der Barcode wird korrekt generiert, aber ich möchte Text hinzufügen.

Hier ist mein Code für den Barcode-Generator.

protected void btnGenerate_Click(object sender, EventArgs e) 
{ 
    foreach (ListItem item in BarCode.Items) 
    { 
     if (item.Selected) 
     { 
      string barCode = Barcode + txtCode.Text; 
      System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); 
      using (Bitmap bitMap = new Bitmap(barCode.Length * 50, 90)) 
      { 
      using (Graphics graphics = Graphics.FromImage(bitMap)) 
      { 
       Font oFont = new Font("IDAutomationHC39M", 18); 
       PointF point = new PointF(3f, 3f); 
       SolidBrush blackBrush = new SolidBrush(Color.Black); 
       SolidBrush whiteBrush = new SolidBrush(Color.White); 
       graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height); 
       graphics.DrawString(barCode, oFont, blackBrush, point); 
      } 
      using (MemoryStream ms = new MemoryStream()) 
      { 
       bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
       byte[] byteImage = ms.ToArray(); 

       Convert.ToBase64String(byteImage); 
       imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); 
      } 

        plBarCode.Controls.Add(imgBarCode); 
     } 
    } 

    } 

} 

Ich möchte

hinzufügen "Menge: _____________"

unterhalb des Barcodes, wenn es erzeugt wird. Obwohl ich die Formatierung des Barcodes beschränkt sich auf den Code glauben, und ich glaube nicht, dass ich ein Stringliteral

string lit = "QTY:_______________"; 

und fügen Sie den Barcode-String erstellen:

string barCode = Barcode + txtCode.Text + Environement.NewLine + lit; 

Ist es möglich, das unterprogrammisch hinzuzufügen?

Antwort

1

Wenn ich Sie richtig verstehe Sie müssen keinen Text in den Code einfügen, Sie müssen etwas Text unter Barcode drucken. Fügen Sie einfach in:

using (Graphics graphics 

somthig wie folgt aus:

// put coordinates here: 
RectangleF rectf = new RectangleF(70, 90, 90, 50); 


graphics.DrawString(lit , new Font("Tahoma",8), Brushes.Black, rectf); 
+0

Ja, ich glaube, es ist so etwas wie dieses. Obwohl wenn ich es hinzufüge, es nicht funktioniert, stattdessen fügte ich einen neuen Block hinzu und fügte diesen Code hinzu und jetzt druckt es die "MENGE: __________" ohne den Barcode, also ist die Idee dort. Ich muss jetzt herausfinden, wie ich es im Originalblock hinzufügen kann. Ich weiß nicht, warum dein Beispiel nicht wie beabsichtigt funktioniert. – walangala

+0

@ d_li1121, hast du Koordinaten von rectf angepasst, zeige die neue Version von code – gabba

+0

Ja, ich bin mit den Koordinaten herumalbern, aber ich bin ziemlich neu in diesem Bereich, also behalte ich es immer hinter dem Barcode. 'RectangleF rectf = new RectangleF (20, 40, 40, 30);' Ich untersuche die Formatierung genau. – walangala

Verwandte Themen