翼度科技»论坛 编程开发 python 查看内容

二维码生成解析用ZXing.NET就够了,不要再引一堆生成和解析库了

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
ZXing.NET 是一个开源的、功能强大的二维码处理库,它能够对二维码进行解码(读取信息)和编码(生成二维码)。ZXing 是 "Zebra Crossing" 的缩写,是一个跨平台的、用于解码和生成条形码和二维码的库。以下是一些 ZXing.Net 的主要功能通过实例讲解。
1. 生成二维码
  1. using System;
  2. using System.Drawing;
  3. using ZXing;
  4. using ZXing.QrCode;
  5. class Program
  6. {
  7.     static void Main()
  8.     {
  9.         // 创建 QR Code 编码器实例
  10.         var writer = new BarcodeWriter();
  11.         writer.Format = BarcodeFormat.QR_CODE;
  12.         // 设置二维码内容
  13.         string content = "Hello, ZXing.Net!";
  14.         // 生成二维码图片
  15.         Bitmap qrCodeBitmap = writer.Write(content);
  16.         // 保存生成的二维码图片(这里假设保存路径为 "qrcode.png")
  17.         qrCodeBitmap.Save("qrcode.png");
  18.         Console.WriteLine("已生成二维码.");
  19.     }
  20. }
复制代码
2. 解码二维码
  1. using System;
  2. using System.Drawing;
  3. using ZXing;
  4. class Program
  5. {
  6.     static void Main()
  7.     {
  8.         // 创建二维码解码器实例
  9.         var reader = new BarcodeReader();
  10.         // 读取二维码图片(这里假设图片路径为 "qrcode.png")
  11.         Bitmap qrCodeBitmap = (Bitmap)Bitmap.FromFile("qrcode.png");
  12.         // 解码二维码
  13.         var result = reader.Decode(qrCodeBitmap);
  14.         // 输出解码结果
  15.         if (result != null)
  16.         {
  17.             Console.WriteLine($"解码结果: {result.Text}");
  18.         }
  19.         else
  20.         {
  21.             Console.WriteLine("无法解码二维码.");
  22.         }
  23.     }
  24. }
复制代码
3. 自定义二维码样式
  1. using System;
  2. using System.Drawing;
  3. using ZXing;
  4. using ZXing.QrCode;
  5. using ZXing.Rendering;
  6. class Program
  7. {
  8.     static void Main()
  9.     {
  10.         // 创建 QR Code 编码器实例
  11.         var writer = new BarcodeWriter();
  12.         writer.Format = BarcodeFormat.QR_CODE;
  13.         // 设置二维码内容
  14.         string content = "Custom Style";
  15.         // 设置自定义样式
  16.         var renderer = new BitmapRenderer();
  17.         renderer.Background = Color.Yellow;
  18.         renderer.Foreground = Color.DarkBlue;
  19.         writer.Renderer = renderer;
  20.         // 生成二维码图片
  21.         Bitmap qrCodeBitmap = writer.Write(content);
  22.         // 保存生成的二维码图片(这里假设保存路径为 "custom_style_qrcode.png")
  23.         qrCodeBitmap.Save("custom_style_qrcode.png");
  24.         Console.WriteLine("已生成带有自定义样式的二维码.");
  25.     }
  26. }
复制代码
4. 解码带有Logo的二维码
  1. using System;
  2. using System.Drawing;
  3. using ZXing;
  4. using ZXing.Common;
  5. class Program
  6. {
  7.     static void Main()
  8.     {
  9.         // 创建二维码解码器实例
  10.         var reader = new BarcodeReader();
  11.         // 读取带有Logo的二维码图片(这里假设图片路径为 "qrcode_with_logo.png")
  12.         Bitmap qrCodeBitmap = (Bitmap)Bitmap.FromFile("qrcode_with_logo.png");
  13.         // 解码二维码
  14.         var result = reader.Decode(qrCodeBitmap);
  15.         // 输出解码结果
  16.         if (result != null)
  17.         {
  18.             Console.WriteLine($"解码结果: {result.Text}");
  19.         }
  20.         else
  21.         {
  22.             Console.WriteLine("无法解码二维码.");
  23.         }
  24.     }
  25. }
复制代码
这些示例演示了 ZXing.Net 的一些基本功能,包括生成和解码普通二维码、自定义样式的二维码以及解码带有Logo的二维码。你可以根据实际需求进一步定制和扩展这些功能。请确保将 ZXing.Net NuGet 包添加到你的项目中。
 


来源:https://www.cnblogs.com/hanbing81868164/archive/2023/12/14/17900375.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具