aspnet2014-07-26 00:58:32 5431
介绍下在ASP.NET(C#)中利用ThoughtWorks.QRCode类库快速生成二维码。
1.在工程中引入ThoughtWorks.QRCode类库:
点击下载:http://www.pengyaou.com/QrCode/ThoughtWorks.QRCode.dll
2.代码:
[WebMethod] public static string GetQrURL(string str) { string returnString = ""; try { Bitmap mBitmap = GetImg(str, 100); string fileName = DateTime.Now.Year.ToString() DateTime.Now.Month.ToString() DateTime.Now.Day.ToString() DateTime.Now.Hour.ToString() DateTime.Now.Minute.ToString() DateTime.Now.Second.ToString(); string path = System.Web.HttpContext.Current.Server.MapPath("QrImg/" fileName ".png"); mBitmap.Save(path); returnString = "QrImg/" fileName ".png"; } catch { } return returnString; } /// <summary> /// 二维码 /// </summary> /// <param name="code">需要生成二维码的图片</param> /// <param name="size">图片的大小</param> public static Bitmap GetImg(string code, int size) { QRCodeEncoder qrEntity = new QRCodeEncoder(); qrEntity.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//二维码编码方式 qrEntity.QRCodeScale = 8;//每个小方格的宽度 qrEntity.QRCodeVersion = 5;//二维码版本号 qrEntity.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//纠错码等级 System.Drawing.Bitmap srcimage; //动态调整二维码版本号,上限40,过长返回空白图片,编码后字符最大字节长度2953 while (true) { try { srcimage = qrEntity.Encode(code, System.Text.Encoding.UTF8); break; } catch (IndexOutOfRangeException e) { if (qrEntity.QRCodeVersion < 40) { qrEntity.QRCodeVersion ; } else { srcimage = new Bitmap(100, 100); break; } } } //为生成的二维码图像裁剪白边并调整为请求的高度 return srcimage; }
彭亚欧个人博客原创文章,转载请注明出处
文章关键词:C#生成二维码,ASP.NET二维码生成,二维码
文章固定链接:https://www.pengyaou.com/legendsz/server/aspnet/NjI=.html
下一篇 Jquery放大镜效果