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#如何生成二维码
  • 相关阅读:
    Dictionaries and lists
    Looping and dictionaries
    Dictionary as a set of counters
    Dictionaries
    List exercise
    Lists and strings
    Copying lists
    Objects and values
    [luoguP1944] 最长括号匹配_NOI导刊2009提高(1)
    [luoguP1868] 饥饿的奶牛(DP)
  • 原文地址:https://www.cnblogs.com/shen119/p/3806779.html
Copyright © 2011-2022 走看看