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#如何生成二维码
  • 相关阅读:
    RPC服务和HTTP服务对比
    常用工具地址
    maven教程
    【springboot】知识点总结
    [JZOJ4272] [NOIP2015模拟10.28B组] 序章-弗兰德的秘密 解题报告(树形DP)
    [NOIP2015模拟10.22] 最大子矩阵 解题报告(单调栈)
    [NOIP2015模拟10.27] 挑竹签 解题报告(拓扑排序)
    [NOIP2015模拟10.27] [JZOJ4270] 魔道研究 解题报告(动态开点+权值线段树上二分)
    [NOIP2015模拟10.22] 最小代价 解题报告 (最小生成树)
    BZOJ4479 [JSOI2013] 吃货jyy 解题报告(三进制状态压缩+欧拉回路)
  • 原文地址:https://www.cnblogs.com/shen119/p/3806779.html
Copyright © 2011-2022 走看看