Preguntas frecuentes sobre TBarCode .NET
¿Cómo convertir una imagen a Base64?
¿Cómo convertir una imagen a Base64?
Esto se puede lograr creando una matriz de bytes y luego convirtiéndola a codificación 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();
}
}
Una vez creada la matriz de bytes, puede convertirla a Base64. Para incrustar la imagen en HTML, anteponga el tipo MIME a la imagen:
Byte[] barcodeImageStream = GenerateBarcodeStream2D ("12345");
String myBase64Barcode = Convert.ToBase64String(barcodeImageStream);
String imgSrc = "data:image/png;base64, " + myBase64Barcode;