C# 代码生成二维码方法及代码示例(QRCode)

二维码是越来越流行了,很多地方都有可能是使用到。如果是静态的二维码还是比较好处理的,通过在线工具就可以直接生成一张二维码图片,比如:草料二维码。但有的时候是需要动态生成的(根据动态数据生成),这个使用在线就工具就无法实现了。最好是能在代码中直接生成一个二维码图片,这里我就介绍下使用QRCode类库在代码中生成二维码。

网上生成二维码的组建还是挺多的,但是真正好用且快速的却不多。QRCode就是我在众多中找到的,它的生成速度快、而且使用也相当方便。

开始编码

1、安装 QRCode组建。在项目上通过NuGet包管理器来安装,搜索名称:ThoughtWorks.QRCode

2、在代码中添加引用:using ThoughtWorks.QRCode.Codec;

3、编码生成

        private void CreateImage()
        {
            string guid = Guid.NewGuid().ToString().Replace("-", "") + ".png";    //图片名称

            string content = "https://ityouzi.com/zanzhu.html";   //二维码内容
            int size = 10;  //二维码中每个小点的大小
            Bitmap image = CreateImgCode(content, size); //生成二维码图片

            //保存图片,需要图片的绝对地址,这是web项目
            string filePath = @"D:\Image\" + guid; //图片保存地址,需要绝对路径
            image.Save(filePath, System.Drawing.Imaging.ImageFormat.Png); 

             //在D:\Image\下就正看到图片了
        }

        
        /// <summary>  
        /// 生成二维码图片  
        /// </summary>  
        /// <param name="codeNumber">要生成二维码的字符串</param>       
        /// <param name="size">二维码每个颗粒大小尺寸</param>  
        /// <returns>二维码图片</returns>  
        public Bitmap CreateImgCode(string codeNumber, int size)
        {
            //创建二维码生成类  
            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
            //设置编码模式  
            qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
            //设置编码测量度  
            qrCodeEncoder.QRCodeScale = size;
            //设置编码版本  
            qrCodeEncoder.QRCodeVersion = 0;
            //设置编码错误纠正  
            qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
            //生成二维码图片  
            System.Drawing.Bitmap image = qrCodeEncoder.Encode(codeNumber);

            return image;
        }
        

上面代码运行的结果

20151223130520524_8675.png

发布者:IT柚子,转转请注明出处:https://ityouzi.com/archives/thought-works-qrcode-codec.html

(6)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
IT柚子的头像IT柚子
上一篇 2019年3月30日 下午7:26
下一篇 2019年3月30日 下午7:32

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注