1、分别下载QrCodeNet、ThoughtWorks在百度输入关键字找到相应的下载地址。
2、新建一个工程,创建两个页面,分别生成相应的二维码页面。
3、分别添加QrCodeNet、ThoughtWorks的引用。
4、ThoughtWorks二维码生成,网页扫码跳转。protected vo坡纠课柩id Button1_Click(obje艘早祓胂ct sender, EventArgs e) { create_two(this.TextBox1.Text); } private void create_two(string nr) { Bitmap bt; string enCodeString = nr; QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8); string filename = DateTime.Now.ToString("yyyymmddhhmmss"); string path = Server.MapPath("~/image/") + filename + ".jpg"; Response.Write(path); bt.Save(path); this.Image1.ImageUrl = "~/image/" + filename + ".jpg"; }
5、QrCodeNet二维码生成处理protected void Button1_Click(object sender, EventArgs e) { using (var ms = new MemoryStream()) { string stringtest = "http://yxdashen.95php.com/"; GetQRCode(stringtest, ms); Response.ContentType = "image/Png"; Response.OutputStream.Write(ms.GetBuffer(), 0, (int)ms.Length); Image img = Image.FromStream(ms); string filename = DateTime.Now.ToString("yyyymmddhhmmss"); string path = Server.MapPath("~/image/") + filename + ".png"; img.Save(path); Response.End(); } } /// <summary> /// 获取二维码 /// </summary> /// <param name="strContent">待编码的字符</param> /// <param name="ms">输出流</param> ///<returns>True if the encoding succeeded, false if the content is empty or too large to fit in a QR code</returns> public static bool GetQRCode(string strContent, MemoryStream ms) { ErrorCorrectionLevel Ecl = ErrorCorrectionLevel.M; //误差校正水平 string Content = strContent;//待编码内容 QuietZoneModules QuietZones = QuietZoneModules.Two; //空白区域 int ModuleSize = 12;//大小 var encoder = new QrEncoder(Ecl); QrCode qr; if (encoder.TryEncode(Content, out qr))//对内容进行编码,并保存生成的矩阵 { var render = new GraphicsRenderer(new FixedModuleSize(ModuleSize, QuietZones)); render.WriteToStream(qr.Matrix, ImageFormat.Png, ms); } else { return false; } return true; }
6、运行程序。
7、扫描二维码,就实现跳转了。