zoukankan      html  css  js  c++  java
  • 使用QRCode生成二维码

    第一步: 获取QRCode组件

      可以通过vs的nuget管理安装Gma.QrCodeNet,

      也可以直接添加"Gma.QrCodeNet.Encoding.dll"的引用.

    第二步:封装操作方法,编写QRCodeHelper帮助类(直接复制,黏贴即可)

     1  /// <summary>  
     2     /// 含有QR码的描述类和包装编码和渲染  
     3     /// </summary>  
     4     public class QRCodeHelper
     5     {
     6         /// <summary>  
     7         /// 获取二维码  
     8         /// </summary>  
     9         /// <param name="strContent">待编码的字符</param>  
    10         /// <param name="ms">输出流</param>  
    11         /// <param name="moduleSize">大小</param>  
    12         ///<returns>True if the encoding succeeded, false if the content is empty or too large to fit in a QR code</returns>  
    13         public static bool GetQRCode(string strContent,MemoryStream ms, int moduleSize = 12)
    14         {
    15             ErrorCorrectionLevel Ecl = ErrorCorrectionLevel.M; //误差校正水平   
    16             string Content = strContent;//待编码内容  
    17             QuietZoneModules QuietZones = QuietZoneModules.Two;  //空白区域   
    18             var encoder = new QrEncoder(Ecl);
    19             QrCode qr;
    20             if (encoder.TryEncode(Content, out qr))//对内容进行编码,并保存生成的矩阵  
    21             {
    22                 var render = new GraphicsRenderer(new FixedModuleSize(moduleSize, QuietZones));
    23                 render.WriteToStream(qr.Matrix, ImageFormat.Png, ms);
    24             }
    25             else
    26             {
    27                 return false;
    28             }
    29             return true;
    30         }
    31 
    32     }  

    第三步: 测试调用,生成二维码图片

    1 using (var ms = new MemoryStream())
    2 {
    3     string strContent = "http://www.baidu.com";
    4     QRCodeHelper.GetQRCode(strContent, ms, 12);
    5     Response.ContentType = "image/Png";
    6     Response.OutputStream.Write(ms.GetBuffer(), 0, (int)ms.Length);
    7     Response.End();
    8 }

    补充:

      如果想通过js动态生成二维码,可使用jQuery.QRCode插件.说明文档:  https://larsjung.de/jquery-qrcode/

      

      QRCode组件下载地址: https://pan.baidu.com/s/1slMrQHJ

  • 相关阅读:
    命名对象继承2-验证Open*命名对象安全属性的传递
    命名对象继承1-验证Create*命名对象安全属性的传递
    讨论c/c++计算小数的精度问题
    隐藏进程名
    一个函数重载问题
    02-Python基础之列表
    01-Python基础之字符串
    django 实用工具dj-database-url 快速配置数据库
    Gerrit安装配置
    关于数学的摘抄
  • 原文地址:https://www.cnblogs.com/miaosha5s/p/6070260.html
Copyright © 2011-2022 走看看