• 生成二维码组件thoughtworks.qrcode


    1 第三方组件DotNetBarcode。

    2 C#有支持winform和web用的thoughtworks.qrcode.dll

    3 使用前先添加引用thoughtworks.qrcode.dll

    4

         /// <summary>
           /// 生成QRcode二维码
           /// </summary>
           /// <param name="code">要编码的字符串</param>
           /// <param name="size">生成图片的高度</param>
           /// <returns>生成后的二维码图片</returns>
           public static System.IO.MemoryStream GetQRCode(string code, int size)
           {
               QRCodeEncoder qrEntity = new QRCodeEncoder();
    
               qrEntity.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//二维码编码方式
    
               qrEntity.QRCodeScale = 10;//每个小方格的宽度
    
               qrEntity.QRCodeVersion = 5;//二维码版本号
    
               qrEntity.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//纠错码等级
    
               System.Drawing.Bitmap srcimage;
               //动态调整二维码版本号,上限40,过长返回空白图片,编码后字符最大字节长度2953
               while (true)
               {
                   try
                   {
                       srcimage = qrEntity.Encode(code, System.Text.Encoding.UTF8);
                       break; 
                   }
                   catch (IndexOutOfRangeException e)
                   {
                       if (qrEntity.QRCodeVersion < 40)
                       {
                           qrEntity.QRCodeVersion++;
                       }
                       else
                       {
                           srcimage = new Bitmap(100, 100);
                           break;
                       }
                   }
               }
               //为生成的二维码图像裁剪白边并调整为请求的高度
               return GetRealImage(srcimage, size);           
           }


    5

       System.IO.MemoryStream ms = new System.IO.MemoryStream();
    
                descode = "http://aaa.com/hh/“+id+".html";
    
                if (!string.IsNullOrEmpty(descode))
                {
                    ms = Common.Image.QRCode.GetQRCode(descode, size);
                }
  • 相关阅读:
    http基础知识总结
    unittest单元测试流程
    python测试框架nose
    HTML,CSS,JS之间的关系
    无法远程连接mysql,连接后也没有权限创建数据库
    Android 导入导出CSV,xls文件 .
    Android Sqlite 导入CSV文件 .
    用java开发的网站或者程序
    111个知名Java项目集锦,包括url和描述
    Ruby简介,附带示例程序
  • 原文地址:https://www.cnblogs.com/judy0605/p/3340350.html
Copyright © 2020-2023  润新知