使用QRCoder生成二维码

官方地址:https://github.com/codebude/QRCoder

 

首先安装相应的package

 最简单的使用

复制代码
     public void GenerateRun(string content)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, QRCodeGenerator.ECCLevel.Q);
            QRCode qrCode = new QRCode(qrCodeData);
            Bitmap qrCodeImage = qrCode.GetGraphic(20);
           
            string filePath = "D:\\ImportData\\" + "\\QR-coder.jpg";
            qrCodeImage.Save(filePath, ImageFormat.Jpeg);
            Console.WriteLine("generate finished");
        }
复制代码

设置颜色或是否周围是否有白边

复制代码
     public void GenerateRun(string content)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, QRCodeGenerator.ECCLevel.Q);
            QRCode qrCode = new QRCode(qrCodeData);
            //Bitmap qrCodeImage = qrCode.GetGraphic(20);

            //drawQuietZones 是否有白边
            Bitmap qrCodeImage = qrCode.GetGraphic(5, Color.Purple, Color.White, false);
           
            string filePath = "D:\\ImportData\\" + "\\QR-coder.jpg";
            qrCodeImage.Save(filePath, ImageFormat.Jpeg);
            Console.WriteLine("generate finished");
        }
复制代码

设置logo

Bitmap qrCodeImage = qrCode.GetGraphic(20, Color.Black, Color.White, (Bitmap)Bitmap.FromFile("C:\\myimage.png"));

 还有一些其它的支持功能

支持生成是WIFI数据的二维码

复制代码
   public void GenerateRun(string content)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            //WIFI
            PayloadGenerator.WiFi wifiPayload = new PayloadGenerator.WiFi("MyWiFi-SSID", "MyWiFi-Pass", PayloadGenerator.WiFi.Authentication.WPA);
            content = wifiPayload.ToString();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, QRCodeGenerator.ECCLevel.Q);
            QRCode qrCode = new QRCode(qrCodeData);
            Bitmap qrCodeImage = qrCode.GetGraphic(10);

            string filePath = "D:\\ImportData\\QR-coder.jpg";
            qrCodeImage.Save(filePath, ImageFormat.Jpeg);
            Console.WriteLine("generate finished");
        }
复制代码

支持生成包含二维码的PDF

复制代码
 public void GeneratePDF(string content)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, QRCodeGenerator.ECCLevel.Q);
            PdfByteQRCode qrCode = new PdfByteQRCode(qrCodeData);
            byte[] qrCodeAsPdfByteArr = qrCode.GetGraphic(20);

            string filename = "D:\\ImportData\\QR-coder.pdf";
            FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write);
            fs.Write(qrCodeAsPdfByteArr, 0, qrCodeAsPdfByteArr.Length);
            fs.Close();
            Console.WriteLine("generate pdf finished");
        }
复制代码

更多的格式内容参考:https://github.com/codebude/QRCoder#special-rendering-types

posted @   FH1004322  阅读(916)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示