1.引用 using ThoughtWorks.QRCode.Codec;
在nuget包中下载ThoughtWorks.QRCode包。
2.将base64为图片编码传到前台显示。
#region 生成二维码图片
/// <summary>
/// 生成二维码图片,并返回文件的保存路径
/// </summary>
/// <param name="nr">要生成二维码的字符串</param>
/// <returns></returns>
private byte[] CreateQR(string nr)
{
Bitmap bt;
if (!string.IsNullOrEmpty(nr))
{
string filename = Guid.NewGuid().ToString().ToUpper();
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
bt = qrCodeEncoder.Encode(nr, Encoding.UTF8);
return ToBase64(bt);
}
return null;
}
/// <summary>
/// 将图片保存为base64码
/// </summary>
/// <param name="bmp"></param>
/// <returns></returns>
private byte[] ToBase64(Bitmap bmp)
{
try
{
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
return arr;
}
catch (Exception ex)
{
return null;
}
}
#endregion