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

折叠 展开 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
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值