原文地址:http://blog.csdn.net/zlfxy/article/details/873333using System;
using System.Collections.Generic;using System.Linq;using System.Text.RegularExpressions;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Text;using ThoughtWorks;using ThoughtWorks.QRCode.Codec.Util;using ThoughtWorks.QRCode.Codec;using ThoughtWorks.QRCode.Codec.Data;using System.Drawing.Imaging;using System.IO;namespace WebTest{ public partial class main : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 4; qrCodeEncoder.QRCodeVersion = 8; qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; //String data = "Hello 二维码!"; String data = TextBox1.Text.ToString(); System.Drawing.Bitmap image = qrCodeEncoder.Encode(data); System.IO.MemoryStream MStream = new System.IO.MemoryStream(); image.Save(MStream, System.Drawing.Imaging.ImageFormat.Png); ///如果生成二维码后,不需要跳转页面,可以将他们注释掉 Response.ClearContent(); Response.ContentType = "image/Png"; Response.BinaryWrite(MStream.ToArray()); //如果生成二维码后,不需要跳转页面,可以将他们注释掉// //FileInfo f = new FileInfo(@"d:\zl.png"); Directory.CreateDirectory("d:\\zlf"); FileStream fs = new FileStream("d:\\zlf\\zz.png", FileMode.CreateNew, FileAccess.ReadWrite); BinaryWriter bw = new BinaryWriter(fs, UTF8Encoding.UTF8); byte[] by = MStream.ToArray(); for (int i = 0; i < MStream.ToArray().Length; i++) bw.Write(by[i]); fs.Close(); Response.Write"");//如果不需要向页面给出提示,则可以注释
} } }
在前台直接拉textbox和button。控件的ID不要改。textbox中输入的是二维码对应的文本。
需要在项目中添加引用ThoughtWorks.QRCode.dll(百度云中有!)