• C# 后台代码生成 “二维码”


    之前  几篇有讲过js脚本生成二维码。

    但是有时候脚本我们 不能用,  需要生成二维码,这时候怎么办呢?

    没关系, 下面来看看  代码生成二维码:

    第一个方法:生成二维码 位图。

          link参数 为扫描二维码跳转的链接

          Bitmp  返回的是Bitmap位图
    public static Bitmap GetQRCodeBmp(string link)
    {
    QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
    qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
    qrCodeEncoder.QRCodeScale = 4;
    qrCodeEncoder.QRCodeVersion = 0;
    qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
    Bitmap bmp = qrCodeEncoder.Encode(link);
    return bmp;
    }

    上面的方返回的是 一个Bitmap (位图),如果你能用这个返回的 “位图 ” 在页面上显示二维码就不需要 转为src了。

    我试了一下,没弄出来。所以我就把这个Bitmap 转为 base64位的src 图片地址了。

    方法:

    参数就是需要一个 Bitmap类型,返回的是base64位的字符串

    public static string ImgToBase64String(Bitmap bmp)
    {
      try
      {
        MemoryStream ms = new MemoryStream();
        bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
        byte[] arr = new byte[ms.Length];
        ms.Position = 0;
        ms.Read(arr, 0, (int)ms.Length);
        ms.Close();
        return Convert.ToBase64String(arr);
      }
      catch (Exception ex)
      {
        return null;
      }
    }

    直接调用这两个方法,就行了:

       string str= ImgToBase64String(GetQRCodeBmp("www.baidu.com"));  

    把这个返回的  给img标签的src属性,就是一个二维码图片了。

  • 相关阅读:
    Oracle:Using the DBMS_STATSpackage
    Oracle partitioning is not always a good idea.
    Oracle: Benefits and consequences of the NOLOGGING option
    Oracle :Insert ways.
    Oracle:临时表的统计信息
    C#中使用DTS来导入数据及相关问题
    [收藏]CSS网页制作时实现自动换行的小技巧
    新加了牛人的Blog链接
    在.Net下使用Access 的日期类型 及与js的日历控件交互
    在程序中生成PDF
  • 原文地址:https://www.cnblogs.com/liuzheng0612/p/11101028.html
Copyright © 2020-2023  润新知