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";
}
