创建二维码Base64并放入HTML的IMG标签
Create QR Code Base64 and put in IMG tag of HTML
我得到了一些 JSON 数据并从中创建了一个 QR 码。然后我想将其转换为 Base64 字符串并将其放入我的 html 中的 img 标签中。但是,QR 码没有图像未创建。我是这样尝试的:
// my string created from the JSON
string strInventoryData = string.Format(dataPortable, GeneratorID, MarketUnit);
// generate the QR Code
ZXing.Common.BitMatrix byteIMGNew = writer.encode(strInventoryData,
ZXing.BarcodeFormat.QR_CODE, 240, 240, null);
Bitmap bmp1 = new Bitmap(byteIMGNew.Width, byteIMGNew.Height);
Graphics g1 = Graphics.FromImage(bmp1);
g1.Clear(Color.White);
for (int x = 0; x < byteIMGNew.Height; ++x)
{
for (int y = 0; y < byteIMGNew.Width; ++y)
{
if (byteIMGNew[x, y])
g1.FillRectangle(Brushes.Black, x, y, 1, 1);
else
g1.FillRectangle(Brushes.White, x, y, 1, 1);
}
}
// create the base64 encoded image
System.IO.MemoryStream ms = new System.IO.MemoryStream();
bmp1.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] byteImage = ms.ToArray();
var SigBase64 = Convert.ToBase64String(byteImage);
// put it in the htm
strInnerData += "<td align='center' style='width:240px;height:240px'>
<img alt='Embedded Image' src='data:image/png;base64,'" + SigBase64.ToString() + "' /></td>";
我做错了什么?
这段代码对我有用:
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bitMatrix = qrCodeWriter.encode(message, BarcodeFormat.QR_CODE, 500, 500);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
MatrixToImageWriter.writeToStream(bitMatrix,"png", outputStream);
String base64 = new String(Base64.getEncoder().encode(outputStream.toByteArray()));
...
String strInnerData = "<td align='center' style='width:240px;height:240px'>"+
"<img alt='Embedded Image' src='data:image/png;base64,'" + base64 + "' /></td>";
我得到了一些 JSON 数据并从中创建了一个 QR 码。然后我想将其转换为 Base64 字符串并将其放入我的 html 中的 img 标签中。但是,QR 码没有图像未创建。我是这样尝试的:
// my string created from the JSON
string strInventoryData = string.Format(dataPortable, GeneratorID, MarketUnit);
// generate the QR Code
ZXing.Common.BitMatrix byteIMGNew = writer.encode(strInventoryData,
ZXing.BarcodeFormat.QR_CODE, 240, 240, null);
Bitmap bmp1 = new Bitmap(byteIMGNew.Width, byteIMGNew.Height);
Graphics g1 = Graphics.FromImage(bmp1);
g1.Clear(Color.White);
for (int x = 0; x < byteIMGNew.Height; ++x)
{
for (int y = 0; y < byteIMGNew.Width; ++y)
{
if (byteIMGNew[x, y])
g1.FillRectangle(Brushes.Black, x, y, 1, 1);
else
g1.FillRectangle(Brushes.White, x, y, 1, 1);
}
}
// create the base64 encoded image
System.IO.MemoryStream ms = new System.IO.MemoryStream();
bmp1.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] byteImage = ms.ToArray();
var SigBase64 = Convert.ToBase64String(byteImage);
// put it in the htm
strInnerData += "<td align='center' style='width:240px;height:240px'>
<img alt='Embedded Image' src='data:image/png;base64,'" + SigBase64.ToString() + "' /></td>";
我做错了什么?
这段代码对我有用:
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bitMatrix = qrCodeWriter.encode(message, BarcodeFormat.QR_CODE, 500, 500);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
MatrixToImageWriter.writeToStream(bitMatrix,"png", outputStream);
String base64 = new String(Base64.getEncoder().encode(outputStream.toByteArray()));
...
String strInnerData = "<td align='center' style='width:240px;height:240px'>"+
"<img alt='Embedded Image' src='data:image/png;base64,'" + base64 + "' /></td>";