1.要用到一个类bai:QRCodeEncoder
这个类要添加一个du动态库:ThoughtWorks.QRCode.dll(可以上zhi网搜索)
然后引入命dao名空间:using ThoughtWorks.QRCode.Codec;
也可以直接通过 NuGet包 添加 搜索ThoughtWorks.QRCode 就安装
2.需要的引用:
using System.Drawing;
using ThoughtWorks.QRCode.Codec;
3.后台代码:
private static string QRCode(string link)
{
System.Drawing.Bitmap bt;
string enCodeString = link;
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
qrCodeEncoder.QRCodeScale = 4;//大小(值越大生成的二维码图片像素越高)
qrCodeEncoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//错误效验、错误更正(有4个等级)
qrCodeEncoder.QRCodeBackgroundColor = Color.Yellow;//背景色
qrCodeEncoder.QRCodeForegroundColor = Color.Green;//前景色
bt = qrCodeEncoder.Encode(enCodeString, System.Text.Encoding.UTF8);
string filename = DateTime.Now.ToString("yyyyMMddHHmmssffff");//根据时间生成唯一的文件名
string file_path = AppDomain.CurrentDomain.BaseDirectory + "upload\\erweima\\";//存照片的地址
string codeUrl = file_path + filename + ".jpg";
//根据文件名称,自动建立对应目录
if (!System.IO.Directory.Exists(file_path))
System.IO.Directory.CreateDirectory(file_path);
bt.Save(codeUrl);//保存图片
return "upload\\erweima\\" + filename + ".jpg";
}