using QRCoder; namespace GB5Shared.QRCode { public static class QrCodeGenerator { // ECC level Q (25% error correction) — a good default for a printed/scanned certificate // that may be photographed at an angle or under poor lighting, without bloating the image. public static byte[] GenerateQrPng(string url, int pixelsPerModule = 20) { using var generator = new QRCodeGenerator(); using var qrCodeData = generator.CreateQrCode(url, QRCodeGenerator.ECCLevel.Q); using var pngQrCode = new PngByteQRCode(qrCodeData); return pngQrCode.GetGraphic(pixelsPerModule); } } }