asp.net C#生成和解析二维码代码

类库文件我们在文件最后面下载

【ThoughtWorks.QRCode.dll 就是类库】

使用时需要增加:

using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
using ThoughtWorks.QRCode.Codec.Util;

 
主要源代码:

1.生成二维码

 代码如下 复制代码
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();  
String encoding = cboEncoding.Text;  
if (encoding == "Byte")  
{  
     qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;  
}  
else if (encoding == "AlphaNumeric")  
{  
     qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;  
}  
else if (encoding == "Numeric")  
{  
     qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;  
}  
try  
{  
     int scale = Convert.ToInt16(txtSize.Text);  
     qrCodeEncoder.QRCodeScale = scale;  
}  
catch (Exception ex)  
{  
     MessageBox.Show("Invalid size!");  
     return;  
}  
try  
{  
     int version = Convert.ToInt16(cboVersion.Text);  
     qrCodeEncoder.QRCodeVersion = version;  
}  
catch (Exception ex)  
{  
     MessageBox.Show("Invalid version www.111cn.net !");  
}  
  
string errorCorrect = cboCorrectionLevel.Text;  
if (errorCorrect == "L")  
     qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;  
else if (errorCorrect == "M")  
     qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;  
else if (errorCorrect == "Q")  
     qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;  
else if (errorCorrect == "H")  
     qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;   
Image image;  
String data = txtEncodeData.Text;  
image = qrCodeEncoder.Encode(data);  
pb_view.Image = image; 

2.解析二维码

 代码如下 复制代码

QRCodeDecoder decoder = new QRCodeDecoder();  
String decodedString = decoder.decode(new QRCodeBitmapImage(new Bitmap(pb_view.Image)));  
txtEncodeData.Text = decodedString; 


Winform(Demo)下载:QRCode.rar http://file.111cn.net/download/2013/06/29/201205161653178428.rar 

Web(Demo)下载:webQRCode.rar http://file.111cn.net/download/2013/06/29/201205161654200565.rar

posted @   divor  阅读(2626)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示