使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM