zoukankan      html  css  js  c++  java
  • .net 生成二维码

    1. 要用到一个类:QRCodeEncoder

      这个类要添加一个动态库:ThoughtWorks.QRCode.dll(笔者不知道怎么上传附件,读者可以上网搜索,也可以给笔者留言)

      然后引入命名空间:using ThoughtWorks.QRCode.Codec;

      C#实现的小功能:[6]C#如何生成二维码
    2. 好了,项目开始。

      首先,声明一个 QRCodeEncoder 类实例:

      QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

    3. 设置编码方式:

      qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;

      这里笔者将其设置为字节编码(还有两种编码方式,读者可以自行试验),现在的流行的普遍的二维码都是字节编码。

    4. 设置规模和版本:

      qrCodeEncoder.QRCodeScale = 4;

      qrCodeEncoder.QRCodeVersion = 7;

      这里设置规模为:4,版本为:7,其余值读者可以自行试验,这两个值基本只是改变了二维码的大小,读者设置的值都是现在普遍使用的值。

    5. 设置错误校验(错误更正)的级别:

      qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

      这里设置为中等,一共有四个级别,读者可以自行试验。

    6. 根据内容生成二维码图片,最后把生成的图片显示出来就可以啦:

      string link = "http://jingyan.baidu.com/user/npublic?un=%E8%BE%B9%E7%BC%98%E6%B2%B3%E5%9B%BE";

      bmp = qrCodeEncoder.Encode(link);

      一般来说,二维码生成的都是一个连接(当然读者可以改成任意的文本)。

    7. 笔者这里将它封装成了一个方法,方便使用:

              /// <summary>

              /// 根据链接获取二维码

              /// </summary>

              /// <param name="link">链接</param>

              /// <returns>返回二维码图片</returns>

              private Bitmap GetDimensionalCode(string link)

              {

                  Bitmap bmp = null;

                  try

                  {

       

                      QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

       

                      qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;

       

                      qrCodeEncoder.QRCodeScale = 4;

       

                      //int version = Convert.ToInt16(cboVersion.Text);

                      qrCodeEncoder.QRCodeVersion = 7;

       

                      qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

       

                      bmp = qrCodeEncoder.Encode(link);

                  }

                  catch (Exception ex)

                  {

                      //MessageBox.Show("Invalid version !");

                  }

                  return bmp;

              }

      C#实现的小功能:[6]C#如何生成二维码
    8. 8

      OK,搞定,看看我们生成的二维码,呵呵!

      C#实现的小功能:[6]C#如何生成二维码
  • 相关阅读:
    CSS
    Html5
    [LeetCode] 78. Subsets(子集)
    [LeetCode] 22. Generate Parentheses(括号生成器)
    [LeetCode] 406. Queue Reconstruction by Height(按身高重排队列)
    [LeetCode] 46. Permutations(全排列)
    [LeetCode] 94. Binary Tree Inorder Traversal(二叉树的中序遍历)
    [LeetCode] 338. Counting Bits(数比特位)
    [LeetCode] 763. Partition Labels(标签划分)
    [LeetCode] 20. Valid Parentheses(有效的括号)
  • 原文地址:https://www.cnblogs.com/shen119/p/3806779.html
Copyright © 2011-2022 走看看