类库文件我们在文件最后面下载
【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; } (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; |
Web(Demo)下载:webQRCode.rar