您的位置:首页 > 编程语言 > C#

[C#]二维码生成、解码(QRCode)【支持winform、web调用】

2011-09-28 15:19 756 查看
winform(Demo)下载:QRCode.rar

web([b]Demo)下载:[/b]webQRCode.rar

【ThoughtWorks.QRCode.dll 就是类库】【demo中有这个dll】

使用时需要增加:

using ThoughtWorks.QRCode.Codec;

using ThoughtWorks.QRCode.Codec.Data;

using ThoughtWorks.QRCode.Codec.Util;



演示包中的“QRCode.dll”是封装的类库。可以留邮箱,发给你们源码。

主要源代码:

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 !");  
}  
  
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: