• [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; 
  • 相关阅读:
    IoC容器设计
    乐观锁(Optimistic Lock)
    file,path,uri互相转换
    QGraphicsView的paintEvent双缓存绘画
    简单的串口通信程序控制光源
    Qt--QMdiArea和QMdiSubWindow的基本用法
    Qt--支持鼠标拖动来移动内容的QScrollArea视窗
    快速排序算法记录
    结构体在内存中的对齐规则
    求N个数的数组中第K大的数的值
  • 原文地址:https://www.cnblogs.com/szytwo/p/2722601.html
Copyright © 2020-2023  润新知