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

来源:互联网 发布:java求亦或 编辑:程序博客网 时间:2024/06/05 00:10
 

winform(Demo)下载:QRCode.rar  

web(Demo)下载: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;  
原创粉丝点击