第一步工作,下载动态库引用
ThoughtWorks.QRCode //下载地址 https://pan.baidu.com/s/16onWAABs6hwtzili76XtbQ 密码:nbau
System.Web.Extensions //添加引用程序集搜索的出来引用即可
注意下载后解压有两个文件,ThoughtWorks.QRCode.dll 动态库 和qrcode_data文件放在根目录下,
引用Dll
缺少qrcode_data文件系统就会报错,
附上demo代码
/// <summary>
/// 生成二维码字符串形式
/// </summary>
public void GenerateQRcode()
{
//JavaScriptSerializer jss = new JavaScriptSerializer();
string strSaveDir = @".\QRcode";
QRCodeEncoder endocder = new QRCodeEncoder();
//二维码背景颜色
endocder.QRCodeBackgroundColor = System.Drawing.Color.White;
//二维码编码方式
endocder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
//每个小方格的宽度
endocder.QRCodeScale = 11;
//二维码版本号
endocder.QRCodeVersion = 0;
//纠错等级
endocder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
//var person = new { Id = 1, Name = "wolfy", Gender = 1, Age = 24 };//内容部分
//var person = 201904200001;//流水号
var person =this.textBox1.Text;//流水号
//将json川做成二维码
Bitmap bitmap = endocder.Encode(new JavaScriptSerializer().Serialize(person),Encoding.UTF8);
//string strSaveDir = absoluteSave;// Request.MapPath("/QRcode/");
if (!Directory.Exists(strSaveDir))
{
Directory.CreateDirectory(strSaveDir);
}
string strSavePath = Path.Combine(strSaveDir, person.Name + ".png");//内容部分
string strSavePath = Path.Combine(strSaveDir, "wolfy.png");//流水号
if (!System.IO.File.Exists(strSavePath))//存在不更新
{
bitmap.Save(strSavePath);
}
bitmap.Save(strSavePath);//实时更新
//ViewBag.img = "/QRcode/" + person.Name + ".png";
pictureBox1.Image = bitmap;
return; //View();
}
实现效果:
用扫描器进行扫描获取信息