C# 生成bmp图片格式的二维码

/// <summary>                                                                     
        /// 生成二维码                                                                    
        /// </summary>                                                                    
        /// <param name="msg">二维码信息</param>                                          
        /// <returns>图片</returns>                                                       
        public Bitmap QRCodeBimapForString(string nr)
        {
            string enCodeString = nr;
            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
            //编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
            qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
            qrCodeEncoder.QRCodeScale = 15;//大小(值越大生成的二维码图片像素越高)
                                           //版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
            qrCodeEncoder.QRCodeVersion = 2;
            //错误效验、错误更正(有4个等级)
            qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

            return qrCodeEncoder.Encode(enCodeString, Encoding.GetEncoding("GB2312"));
        }


        public string QRCodeSave(string nr)
        {
            Bitmap bt = QRCodeBimapForString(nr);
            System.Drawing.Image img = bt;
            string filePath = my_Path + "/capture";
            string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".bmp";
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            string path = Path.Combine(filePath, fileName);

            
            System.Drawing.Bitmap objNewPic = new System.Drawing.Bitmap(bt, 230, 230);//图片保存的大小尺寸   

            //保存bmp图片
            objNewPic.Save(path, ImageFormat.Bmp);

            //bt.Save(path);
            //如果要显示图片就要有返回值
            return path;
        }

 

//生成数据 "1234567890" 的二维码,返回bmp图片

string QRCodestr = "1234567890";
string QRCodeImage = QRCodeSave(QRCodestr);

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,你可以使用第三方库QRCoder来生成二维码,并通过System.Drawing命名空间中的类来设置透明底红色效果。下面是一个示例代码,演示了如何生成透明底红色的二维码: 首先,你需要安装QRCoder库。你可以通过NuGet包管理器或通过命令行安装QRCoder库。 ```csharp using System; using System.Drawing; using QRCoder; class Program { static void Main() { // 创建QRCodeGenerator对象 QRCodeGenerator qrGenerator = new QRCodeGenerator(); // 创建QRCodeData对象,并设置二维码内容 QRCodeData qrCodeData = qrGenerator.CreateQrCode("https://example.com", QRCodeGenerator.ECCLevel.Q); // 创建QRCode对象 QRCode qrCode = new QRCode(qrCodeData); // 创建Bitmap对象,并设置大小和背景色 Bitmap qrCodeImage = new Bitmap(qrCode.GetGraphic(20, Color.Transparent, Color.Red, true)); // 保存二维码图片 qrCodeImage.Save("qrCode.png"); // 释放资源 qrCodeImage.Dispose(); } } ``` 在这个示例中,我们首先创建了一个QRCodeGenerator对象,然后使用CreateQrCode方法创建QRCodeData对象,并设置二维码的内容和容错级别。 接下来,我们创建了一个QRCode对象,并使用GetGraphic方法生成二维码图像。我们通过设置背景色为透明(Color.Transparent)和前景色为红色(Color.Red)来实现透明底红色效果。 最后,我们创建了一个Bitmap对象,并保存二维码图片。你可以根据需要修改保存的文件名和路径。 希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值