zoukankan      html  css  js  c++  java
  • C# 生成二维码

             在C#中直接引用ThoughtWorks.QRCode.dll 类, 

               QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;    //编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
                qrCodeEncoder.QRCodeScale = 4;                                                    //大小(值越大生成的二维码图片像素越高)
                qrCodeEncoder.QRCodeVersion = 8;                                               //版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;       //错误效验、错误更正(有4个等级)
                string data = "http://www.xxxxx.com/register.aspx?refpeople=" + username + "";   //二维码信息
                context.Response.Write(data);
                System.Drawing.Bitmap image = qrCodeEncoder.Encode(data);
                System.IO.MemoryStream MStream = new System.IO.MemoryStream();
                image.Save(MStream, System.Drawing.Imaging.ImageFormat.Png);
                context.Response.ClearContent();
                context.Response.ContentType = "image/Png";
                context.Response.BinaryWrite(MStream.ToArray());
                string path = context.Server.MapPath("~/uploadfile/twocode");

                Directory.CreateDirectory(path);
                path = path + "\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".png";
                FileStream fs = new FileStream(path, FileMode.CreateNew, FileAccess.ReadWrite);
                BinaryWriter bw = new BinaryWriter(fs, UTF8Encoding.UTF8);
                byte[] by = MStream.ToArray();
                for (int i = 0; i < MStream.ToArray().Length; i++)
                    bw.Write(by[i]);
                fs.Close();

                string relativePath = "/uploadfile/twocode/" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".png";

  • 相关阅读:
    leetcode链表--7、rotate-list(将单链表从右数第k个结点以及之后结点移动到链表最前头)
    10、剑指offer--矩形覆盖
    leetcode链表--6、linked-list-cycle-ii(有环单链表环的入口结点)
    9、剑指offer--变态跳台阶
    8、剑指offer--跳台阶
    leetcode链表--5、linked-list-cycle(单链表是否有环)
    7、剑指offer--斐波那契数列
    Node.js 学习(二) 创建第一个应用
    Node.js 学习(一) 安装配置
    JavaScript 函数调用
  • 原文地址:https://www.cnblogs.com/zengzhanping/p/4831338.html
Copyright © 2011-2022 走看看