我有我的功能:
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中由上面写的代码生成的图像。
答案 0 :(得分:1)
最简单的方法是将生成的位图加载到MemoryStream
以获取Byte Array
。然后将数组转换为Base64以便以HTML格式显示。在下面的代码段中,我为演示目的生成位图。
//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;
然而,BarcodeWriter
可能有一些内置函数直接执行此操作...