.net core生成跨平台二维码文件流

本文介绍了如何在.NET中利用SkiaSharp和SkiaSharp.QrCode包创建具有高纠错能力的二维码,并将结果以PNG格式的流返回。
摘要由CSDN通过智能技术生成

添加引用SkiaSharp 和 SkiaSharp.QrCode包

        /// <summary>
        /// 生成二维码图片
        /// </summary>
        public static (Stream, long) GenerateQRCode(string qrCodeContent, int width = 300, int height = 300, int quality = 100)
        {
            using var generator = new QRCodeGenerator();
            // 创建二维码(并设置纠错能力最高级)
            var createQrCode = generator.CreateQrCode(qrCodeContent, ECCLevel.H);
            // 创建SkiaSharp画布
            using var surface = SKSurface.Create(new SKImageInfo(width, height));
            // 获取画布
            var canvas = surface.Canvas;
            // 渲染二维码到画布
            canvas.Render(createQrCode, width, height);
            // 编码画布快照为PNG格式的数据并返回
            var qrCodeStream = surface.Snapshot().Encode(SKEncodedImageFormat.Png, quality).AsStream();

            return (qrCodeStream, qrCodeStream.Length);
        }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值