分享一个二维码生成组件,简单到一句话就搞定
ThoughtWorks.QRCode 组件 另外还需要一个生成类 CreateQrcode
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
using System.Drawing;
using System.IO;
/// <summary>
/// CreateQrcode 的摘要说明
/// </summary>
public class CreateQrcode : System.Web.UI.Page
{
public CreateQrcode()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// </summary>
/// <param name="strData">要生成的文字或者数字,支持中文。如: "4408810820 深圳-广州" 或者:4444444444</param>
/// <param name="qrEncoding">三种尺寸:BYTE ,ALPHA_NUMERIC,NUMERIC</param>
/// <param name="level">大小:L M Q H</param>
/// <param name="version">版本:如 8</param>
/// <param name="scale">比例:如 4</param>
/// <returns></returns>
public string CreateCode_Choose(string strData, string qrEncoding, string level, int version, int scale)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
string encoding = qrEncoding;
switch (encoding)
{
case "Byte":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
break;
case "AlphaNumeric":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;
break;
case "Numeric":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;
break;
default:
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
break;
}
qrCodeEncoder.QRCodeScale = scale;
qrCodeEncoder.QRCodeVersion = version;
switch (level)
{
case "L":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
break;
case "M":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
break;
case "Q":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
break;
default:
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;
break;
}
//文字生成图片
System.Drawing.Image image = qrCodeEncoder.Encode(strData);
string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
string filepath = Server.MapPath(@"~\Qrcode") + "\\" + filename;
//如果文件夹不存在,则创建 不建议开启,需要对文件夹开启高权限,影响服务器安全
//if (!Directory.Exists(filepath))
// Directory.CreateDirectory(filepath);
System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
fs.Close();
image.Dispose();
return @"/Qrcode/" + filename;
}
}
页面调用代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
using System.Drawing;
using System.IO;
public partial class wxadmin_Qrcode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Image1.ImageUrl = new CreateQrcode().CreateCode_Choose("http://www.jlbry.com", "BYTE", "L", 8, 4);
for (int i = 0; i < 10; i++)
{
Literal1.Text += "<img src=\"" + new CreateQrcode().CreateCode_Choose("http://www.jlbry.com", "BYTE", "L", 8, 4) + "\" /> <br/> welcome";
}
}
}
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
using System.Drawing;
using System.IO;
/// <summary>
/// CreateQrcode 的摘要说明
/// </summary>
public class CreateQrcode : System.Web.UI.Page
{
public CreateQrcode()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// </summary>
/// <param name="strData">要生成的文字或者数字,支持中文。如: "4408810820 深圳-广州" 或者:4444444444</param>
/// <param name="qrEncoding">三种尺寸:BYTE ,ALPHA_NUMERIC,NUMERIC</param>
/// <param name="level">大小:L M Q H</param>
/// <param name="version">版本:如 8</param>
/// <param name="scale">比例:如 4</param>
/// <returns></returns>
public string CreateCode_Choose(string strData, string qrEncoding, string level, int version, int scale)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
string encoding = qrEncoding;
switch (encoding)
{
case "Byte":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
break;
case "AlphaNumeric":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;
break;
case "Numeric":
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;
break;
default:
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
break;
}
qrCodeEncoder.QRCodeScale = scale;
qrCodeEncoder.QRCodeVersion = version;
switch (level)
{
case "L":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
break;
case "M":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
break;
case "Q":
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
break;
default:
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;
break;
}
//文字生成图片
System.Drawing.Image image = qrCodeEncoder.Encode(strData);
string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
string filepath = Server.MapPath(@"~\Qrcode") + "\\" + filename;
//如果文件夹不存在,则创建 不建议开启,需要对文件夹开启高权限,影响服务器安全
//if (!Directory.Exists(filepath))
// Directory.CreateDirectory(filepath);
System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
fs.Close();
image.Dispose();
return @"/Qrcode/" + filename;
}
}
页面调用代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
using System.Drawing;
using System.IO;
public partial class wxadmin_Qrcode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Image1.ImageUrl = new CreateQrcode().CreateCode_Choose("http://www.jlbry.com", "BYTE", "L", 8, 4);
for (int i = 0; i < 10; i++)
{
Literal1.Text += "<img src=\"" + new CreateQrcode().CreateCode_Choose("http://www.jlbry.com", "BYTE", "L", 8, 4) + "\" /> <br/> welcome";
}
}
}
...全文
相关推荐
QRCode二维码生成组件(珍藏版)
现在网上很多应用都是用二维码来分享网址或者其它的信息。尤其在移动领域,二维码更是有很大的应用场景。因为项目的需要,需要在网站中增加一个生成二维码分析网址的功能,在谷歌大幅度抽筋的情况下无奈使用百度。百度N多,找到一些项目,但是可用性不强。终于在codeplex上找到一个“神器”,这个“神器”可以很方便的生成二维码,速度那是相当的快。 功能强大,生成速度比一般的要快很多。 这是本人实用实例讲解: http://blog.csdn.net/lybwwp/article/details/18444369
二维码生成与图片分享
二维码生成与图片分享 直接生成你所需要的二维码 分享到微信、微博、QQ客户端
微信小程序生成分享海报方法(附带二维码生成)
主要介绍了微信小程序生成分享海报方法(附带二维码生成),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
微信小程序生成分享海报(附带二维码生成).rar
微信小程序生成分享海报(附带二维码生成) 包含了获取网络图片转换为本地文件和前端生成二维码,和保存图片到用户相册用于分享
vue中实现动态生成二维码的方法
主要介绍了vue中实现动态生成二维码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


