官方地址: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