GenerateQRCodeUtils.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using QRCoder;
  2. using System.Drawing;
  3. using System.IO;
  4. namespace JiaZhiQuan.Common.Utils
  5. {
  6. /// <summary>
  7. /// 二维码生成工具类
  8. /// </summary>
  9. public class GenerateQRCodeUtils
  10. {
  11. /// <summary>
  12. /// 生成二维码
  13. /// 默认生成白底黑块的二维码
  14. /// </summary>
  15. /// <param name="text"></param>
  16. /// <param name="outputPath"></param>
  17. /// <param name="pixel">像素大小</param>
  18. public static void GenerateQRCode(string text, string outputPath, int pixel = 5)
  19. {
  20. QRCodeGenerator qrGenerator = new QRCodeGenerator();
  21. QRCodeData qrCodeData = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
  22. QRCode qrCode = new QRCode(qrCodeData);
  23. Bitmap qrCodeImage = qrCode.GetGraphic(pixel, Color.Black, Color.White, true);
  24. qrCodeImage.Save(outputPath, System.Drawing.Imaging.ImageFormat.Png);
  25. }
  26. /// <summary>
  27. /// 生成二维码,返回内存流(记得关闭流!!!)
  28. /// 默认生成白底黑块的二维码
  29. /// </summary>
  30. /// <param name="text"></param>
  31. /// <param name="pixel">像素大小</param>
  32. /// <returns></returns>
  33. public static MemoryStream GenerateQRCode(string text, int pixel = 5)
  34. {
  35. QRCodeGenerator qrGenerator = new QRCodeGenerator();
  36. QRCodeData qrCodeData = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
  37. QRCode qrCode = new QRCode(qrCodeData);
  38. Bitmap qrCodeImage = qrCode.GetGraphic(pixel, Color.Black, Color.White, true);
  39. MemoryStream memoryStream = new MemoryStream();
  40. qrCodeImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);
  41. return memoryStream;
  42. }
  43. }
  44. }