类库文件我们在文件最后面下载
【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 !"); }
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;
|