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

来源:互联网 发布:网络分流器 编辑:程序博客网 时间:2024/05/21 21:48

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.生成二维码

折叠展开C# Code复制内容到剪贴板
  1. QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
  2. String encoding = cboEncoding.Text;
  3. if (encoding == "Byte")
  4. {
  5. qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
  6. }
  7. else if (encoding =="AlphaNumeric")
  8. {
  9. qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;
  10. }
  11. else if (encoding =="Numeric")
  12. {
  13. qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;
  14. }
  15. try
  16. {
  17. int scale = Convert.ToInt16(txtSize.Text);
  18. qrCodeEncoder.QRCodeScale = scale;
  19. }
  20. catch (Exception ex)
  21. {
  22. MessageBox.Show("Invalid size!");
  23. return;
  24. }
  25. try
  26. {
  27. int version = Convert.ToInt16(cboVersion.Text);
  28. qrCodeEncoder.QRCodeVersion = version;
  29. }
  30. catch (Exception ex)
  31. {
  32. MessageBox.Show("Invalid version !");
  33. }
  34. string errorCorrect = cboCorrectionLevel.Text;
  35. if (errorCorrect == "L")
  36. qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
  37. else if (errorCorrect =="M")
  38. qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
  39. else if (errorCorrect =="Q")
  40. qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
  41. else if (errorCorrect =="H")
  42. qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;
  43. Image image;
  44. String data = txtEncodeData.Text;
  45. image = qrCodeEncoder.Encode(data);
  46. pb_view.Image = image;

2.解析二维码

折叠展开C# Code复制内容到剪贴板
  1. QRCodeDecoder decoder = new QRCodeDecoder();
  2. String decodedString = decoder.decode(new QRCodeBitmapImage(new Bitmap(pb_view.Image)));
  3. txtEncodeData.Text = decodedString;

原文地址:http://www.glimmer.cn/blog/post/279.html
原创粉丝点击