[英]How to migrate using QRCoder; to using ZXing; in asp.net?
How to migrate using QRCoder; 如何使用QRCoder进行迁移; to using ZXing;
使用ZXing; in asp.net , Because I learn How to Generate QR Code Using ASP.NET with
在asp.net中,因为我学习了如何使用ASP.NET与
https://www.c-sharpcorner.com/blogs/how-to-generate-qr-code-using-asp-net https://www.c-sharpcorner.com/blogs/how-to-generate-qr-code-using-asp-net
website but code in website use QRCoder library not support UTF-8 encoding , I have migrate QRCoder library code at line 16 - line 31 to ZXing library with 网站,但网站中使用QRCoder库的代码不支持UTF-8编码,我已将第16行-第31行的QRCoder库代码迁移到ZXing库,
https://github.com/ritesh9835/QrCode https://github.com/ritesh9835/QrCode/blob/master/QRcodeDemo/QRcodeDemo/Controllers/HomeController.cs https://github.com/ritesh9835/QrCode https://github.com/ritesh9835/QrCode/blob/master/QRcodeDemo/QRcodeDemo/Controllers/HomeController.cs
website instead QRCoder library code at line 16 - line 31 (Sample library code QRCoder and Zxing at the bottom). 网站而不是第16行-第31行的QRCoder库代码(示例库代码QRCoder和Zxing在底部)。
QRCoder Library code. QRCoder库代码。
using QRCoder;
using System;
using System.Drawing;
using System.IO;
namespace QRCode_Demo
{
public partial class QRCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnGenerate_Click(object sender, EventArgs e)
{
string code = txtQRCode.Text;
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q);
System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
imgBarCode.Height = 150;
imgBarCode.Width = 150;
using (Bitmap bitMap = qrCode.GetGraphic(20))
{
using (MemoryStream ms = new MemoryStream())
{
bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] byteImage = ms.ToArray();
imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage);
}
PlaceHolder1.Controls.Add(imgBarCode);
}
}
}
}
Zxing Library code to instead QRCoder library code at line 16 - line 31. 在第16行-第31行将Zxing库代码改为QRCoder库代码。
private string GenerateQRCode(string qrcodeText)
{
string folderPath = "~/Images/";
string imagePath = "~/Images/QrCode.jpg";
// create new Directory if not exist
if (!Directory.Exists(Server.MapPath(folderPath)))
{
Directory.CreateDirectory(Server.MapPath(folderPath));
}
var barcodeWriter = new BarcodeWriter();
barcodeWriter.Format = BarcodeFormat.QR_CODE;
var result = barcodeWriter.Write(qrcodeText);
string barcodePath = Server.MapPath(imagePath);
var barcodeBitmap = new Bitmap(result);
using (MemoryStream memory = new MemoryStream())
{
using (FileStream fs = new FileStream(barcodePath, FileMode.Create, FileAccess.ReadWrite))
{
barcodeBitmap.Save(memory, ImageFormat.Jpeg);
byte[] bytes = memory.ToArray();
fs.Write(bytes, 0, bytes.Length);
}
}
return imagePath;
}
You mean like this ? 你的意思是这样吗?
protected void btnGenerate_Click(object sender, EventArgs e)
{
string code = txtQRCode.Text;
var barcodeWriter = new BarcodeWriter();
barcodeWriter.Format = BarcodeFormat.QR_CODE;
barcodeWriter.Options.Margin = 0;
barcodeWriter.Options.Width = 150;
barcodeWriter.Options.Height = 150;
System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
imgBarCode.Height = 150;
imgBarCode.Width = 150;
using (Bitmap bitMap = barcodeWriter.Write(code))
{
using (MemoryStream ms = new MemoryStream())
{
bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] byteImage = ms.ToArray();
imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage);
}
PlaceHolder1.Controls.Add(imgBarCode);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.