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

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;
posted @ 2012-07-16 18:46  adodo1  Views(193)  Comments(0Edit  收藏  举报