TBarCode .NET 常见问题
如何将图像转换为 Base64?
如何将图像转换为 Base64?
可以通过创建字节数组,然后将其转换为 Base64 编码来实现:
public Byte[] GenerateBarcodeStream2D(String data)
{
TECIT.TBarCode.Barcode barcode = new TECIT.TBarCode.Barcode();
barcode.BarcodeType = TECIT.TBarCode.BarcodeType.DataMatrix;
barcode.Data = data;
barcode.Dpi = 100;
Size optimalSize = barcode.CalculateOptimalBitmapSize(null, 2, 2);
barcode.BoundingRectangle = new Rectangle(0, 0, optimalSize.Width, optimalSize.Height);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
Bitmap bitmap = barcode.DrawBitmap();
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
/*
* // or save as 24 bit JPG
* ImageCodecInfo jpgCodec = ImageCodecInfo.GetImageEncoders().Where(codec => codec.FormatID.Equals(ImageFormat.Jpeg.Guid)).FirstOrDefault();
* System.Drawing.Imaging.EncoderParameters parameters = new System.Drawing.Imaging.EncoderParameters();
* parameters.Param[0] = new EncoderParameter (System.Drawing.Imaging.Encoder.ColorDepth, 24);
* bitmap.Save(ms, jpgCodec, parameters);
*/
ms.Position = 0;
return ms.ToArray();
}
}
创建字节数组之后,您可以将该数组转换为 Base64。要将图像嵌入 html 中,请在图像前加上 MIME 类型前缀:
Byte[] barcodeImageStream = GenerateBarcodeStream2D ("12345");
String myBase64Barcode = Convert.ToBase64String(barcodeImageStream);
String imgSrc = "data:image/png;base64, " + myBase64Barcode;