.net 生成二维码图片

引用nuget包

QRCoder-ImageSharp

csharp 复制代码
        /// <summary>
        /// 生成二维码
        /// </summary>
        /// <param name="text">内容</param>
        /// <param name="width">宽度</param>
        /// <param name="height">高度</param>
        /// <returns>Bitmap对象</returns>
        public Image GenerateQRCode(string text, int width, int height)
        {
            using QRCodeGenerator qrGenerator = new QRCodeGenerator();
            using QRCodeData qrCodeData = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
            using QRCoder.BitmapByteQRCode bitmapByteQRCode = new BitmapByteQRCode(qrCodeData);
          

            var datas = bitmapByteQRCode.GetGraphic(5, "#000000", "#ffffff");
            Image image = Image.Load(datas);
            image.Mutate(ctx =>
            {
                ctx.Resize(width, height);
            });
            return image;
        }

        /// <summary>
        /// 生成带Logo的二维码
        /// </summary>
        /// <param name="text">内容</param>
        /// <param name="width">宽度</param>
        /// <param name="height">高度</param>
        /// <param name="logoImage">Logo</param>
        /// <returns>Bitmap对象</returns>
        public Image GenerateQRCodeWithLogo(string text, int width, int height, Image logoImage)
        {
            var qrCodeImage = GenerateQRCode(text, width, height);
            // 计算插入 logo 的位置


            int x = (width - logoImage.Width) / 2;
            int y = (height - logoImage.Width) / 2;

            qrCodeImage.Mutate(ctx => {
                ctx.DrawImage(logoImage, new Point(x, y), 1);
            });

            return qrCodeImage;
        }
相关推荐
坐吃山猪5 小时前
SpringBoot01-配置文件
java·开发语言
晚风(●•σ )5 小时前
C++语言程序设计——06 字符串
开发语言·c++
我叫汪枫5 小时前
《Java餐厅的待客之道:BIO, NIO, AIO三种服务模式的进化》
java·开发语言·nio
Nicole-----5 小时前
Python - Union联合类型注解
开发语言·python
晚云与城5 小时前
今日分享:C++ -- list 容器
开发语言·c++
兰雪簪轩6 小时前
分布式通信平台测试报告
开发语言·网络·c++·网络协议·测试报告
FPGAI6 小时前
Qt编程之信号与槽
开发语言·qt
Swift社区7 小时前
从 JDK 1.8 切换到 JDK 21 时遇到 NoProviderFoundException 该如何解决?
java·开发语言
0wioiw07 小时前
Go基础(④指针)
开发语言·后端·golang
追逐时光者8 小时前
一款基于 .NET 开源美观、功能丰富的串口调试工具
.net