-
二维码生成解析用ZXing.NET就够了,不要再引一堆生成和解析库了
ZXing.NET 是一个开源的、功能强大的二维码处理库,它能够对二维码进行解码(读取信息)和编码(生成二维码)。ZXing 是 "Zebra Crossing" 的缩写,是一个跨平台的、用于解码和生成条形码和二维码的库。以下是一些 ZXing.Net 的主要功能通过实例讲解。
1. 生成二维码
using System;
using System.Drawing;
using ZXing;
using ZXing.QrCode;
class Program
{
static void Main()
{
// 创建 QR Code 编码器实例
var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
// 设置二维码内容
string content = "Hello, ZXing.Net!";
// 生成二维码图片
Bitmap qrCodeBitmap = writer.Write(content);
// 保存生成的二维码图片(这里假设保存路径为 "qrcode.png")
qrCodeBitmap.Save("qrcode.png");
Console.WriteLine("已生成二维码.");
}
}
2. 解码二维码
using System;
using System.Drawing;
using ZXing;
class Program
{
static void Main()
{
// 创建二维码解码器实例
var reader = new BarcodeReader();
// 读取二维码图片(这里假设图片路径为 "qrcode.png")
Bitmap qrCodeBitmap = (Bitmap)Bitmap.FromFile("qrcode.png");
// 解码二维码
var result = reader.Decode(qrCodeBitmap);
// 输出解码结果
if (result != null)
{
Console.WriteLine($"解码结果: {result.Text}");
}
else
{
Console.WriteLine("无法解码二维码.");
}
}
}
3. 自定义二维码样式
using System;
using System.Drawing;
using ZXing;
using ZXing.QrCode;
using ZXing.Rendering;
class Program
{
static void Main()
{
// 创建 QR Code 编码器实例
var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
// 设置二维码内容
string content = "Custom Style";
// 设置自定义样式
var renderer = new BitmapRenderer();
renderer.Background = Color.Yellow;
renderer.Foreground = Color.DarkBlue;
writer.Renderer = renderer;
// 生成二维码图片
Bitmap qrCodeBitmap = writer.Write(content);
// 保存生成的二维码图片(这里假设保存路径为 "custom_style_qrcode.png")
qrCodeBitmap.Save("custom_style_qrcode.png");
Console.WriteLine("已生成带有自定义样式的二维码.");
}
}
4. 解码带有Logo的二维码
using System;
using System.Drawing;
using ZXing;
using ZXing.Common;
class Program
{
static void Main()
{
// 创建二维码解码器实例
var reader = new BarcodeReader();
// 读取带有Logo的二维码图片(这里假设图片路径为 "qrcode_with_logo.png")
Bitmap qrCodeBitmap = (Bitmap)Bitmap.FromFile("qrcode_with_logo.png");
// 解码二维码
var result = reader.Decode(qrCodeBitmap);
// 输出解码结果
if (result != null)
{
Console.WriteLine($"解码结果: {result.Text}");
}
else
{
Console.WriteLine("无法解码二维码.");
}
}
}
这些示例演示了 ZXing.Net 的一些基本功能,包括生成和解码普通二维码、自定义样式的二维码以及解码带有Logo的二维码。你可以根据实际需求进一步定制和扩展这些功能。请确保将 ZXing.Net NuGet 包添加到你的项目中。
出处:https://www.cnblogs.com/hanbing81868164/p/17900375.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式