C# 生成二维码

原文地址: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"<script languge='javascript'>alert('二维码已生成!');</script>");//如果不需要向页面给出提示,则可以注释
} } }

在前台直接拉textbox和button。控件的ID不要改。textbox中输入的是二维码对应的文本。

需要在项目中添加引用ThoughtWorks.QRCode.dll(百度云中有!)

原文地址:https://www.cnblogs.com/vichin/p/5914605.html