2017-03-15 6 views
0

にバーコードを生成し、私は私の機能を持っている:パスは、htmlタグ

protected void Button1_Click(object sender, EventArgs e) 
{   
    var barcodeWriter = new BarcodeWriter(); 
    var encOptions = new ZXing.Common.EncodingOptions() { Width = 200, Height = 200, Margin = 0 }; 
    barcodeWriter.Options = encOptions; 
    barcodeWriter.Format = BarcodeFormat.CODE_128; 
    var resultBitmap = new Bitmap(barcodeWriter.Write("hello")); 

    resultBitmap.Save(@"C:\Users\lrusin\Documents\Visual Studio 2015\Projects\prova_eti\asd.bmp"); 
} 

バーコード画像を生成し、今では私のファイルシステム内のいくつかのフォルダに保存しています。
生成された画像(C:\ ...に保存された画像ではない)をdivやリストのようなHTMLコンテナに入れる方法があるのだろうかと思っていました。
私の例では、上記のコードで生成された画像をクリックするとdivにロードされるボタンが表示されます。

答えて

1

を取得するには、生成されたビットマップをMemoryStreamにロードするのが最も簡単な方法です。次に、HTMLで表示するために配列をBase64に変換します。下のスニペットでは、私はデモ目的のビットマップを生成します。

それは BarcodeWriterが直接これを行うには、いくつかのビルドイン機能を持っているかもしれませんが
//create a new empty bitmap 
Bitmap resultBitmap = new Bitmap(100, 100); 

//fill the bitmap with a red cirle 
using (Graphics g = Graphics.FromImage(resultBitmap)) 
{  
    g.FillEllipse(Brushes.Red, 10, 10, 80, 80); 
} 

//no explanation needed here 
string base64Image = string.Empty; 

//load the bitmap into the memorystream 
using (MemoryStream ms = new MemoryStream()) 
{ 
    resultBitmap.Save(ms, ImageFormat.Bmp); 

    //get the byte array from the stream and convert to Base64 
    base64Image = Convert.ToBase64String(ms.ToArray()); 
} 

//display the result 
Image1.ImageUrl = "data:image/jpeg;base64," + base64Image; 

...