asp.net(C#)利用QRCode生成二维码
孤风一剑
12月 02, 2013
254

- <%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”QRCode.aspx.cs” Inherits=”QRCode” %>
- <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
- <html xmlns=”http://www.w3.org/1999/xhtml”>
- <head runat=”server”>
- <title>生成二维码</title>
- </head>
- <body>
- <form id=”form1″ runat=”server”>
- <div>
- 请输入内容:<asp:TextBox ID=”TextBox1″ runat=”server”></asp:TextBox>
- <br/>
- <asp:Button ID=”Button1″ runat=”server” Text=”生成二维码” onclick=”Button1_Click” />
- </div>
- <div style=”text-align:center”>
- <asp:Image ID=”ImageCode” runat=”server” Visible=”false” />
- </div>
- </form>
- </body>
- </html>
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- public partial class QRCode : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- protected void Button1_Click(object sender, EventArgs e)
- {
- string CodeText = TextBox1.Text.Trim();
- if (!string.IsNullOrEmpty(CodeText))
- {
- ImageCode.Visible = true;
- ImageCode.ImageUrl = “GetQRCode.ashx?CodeText=” + CodeText;
- }
- }
- }
- <%@ WebHandler Language=”C#” Class=”GetQRCode” %>
- using System;
- using System.Web;
- using ThoughtWorks.QRCode.Codec;
- using ThoughtWorks.QRCode.Codec.Data;
- using ThoughtWorks.QRCode.Codec.Util;
- using System.IO;
- using System.Text;
- public class GetQRCode : IHttpHandler {
- public void ProcessRequest (HttpContext context) {
- String data = context.Request[“CodeText”];
- if (!string.IsNullOrEmpty(data))
- {
- QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
- qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
- qrCodeEncoder.QRCodeScale = 4;
- qrCodeEncoder.QRCodeVersion = 8;
- qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
- System.Drawing.Bitmap image = qrCodeEncoder.Encode(data);
- System.IO.MemoryStream MStream = new System.IO.MemoryStream();
- image.Save(MStream, System.Drawing.Imaging.ImageFormat.Png);
- context.Response.ClearContent();
- context.Response.ContentType = “image/Png”;
- context.Response.BinaryWrite(MStream.ToArray());
- }
- context.Response.Flush();
- context.Response.End();
- }
- public bool IsReusable {
- get {
- return false;
- }
- }
- }