zoukankan      html  css  js  c++  java
  • [C#]二维码生成、解码(QRCode)【支持winform、web调用】

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

     

    winform(Demo)下载:QRCode.rar 

    web(Demo)下载:webQRCode.rar

    【ThoughtWorks.QRCode.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; 
  • 相关阅读:
    Linux五种IO模型
    怎样理解阻塞非阻塞与同步异步的区别?
    .NET 框架 (转载)
    数组 反转
    排序 归并排序&逆序对
    快速寻找满足条件的2个数
    数组 寻找最大的第k个数
    字符串 删除字符串开始以及末尾的空白符,并把数组中间的多个空格(如果有)符转换为1个
    排序 快速排序
    java8常用api
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/2879531.html
Copyright © 2011-2022 走看看