ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

C# 使用ZXing.Net生成二维码和条码

2026/9/24 1:29:41 拓冰建站 浏览量
C# 使用ZXing.Net生成二维码和条码

写在前面

条码生成是一个经常需要处理的功能,本文介绍一个条码处理类库,ZXing用Java实现的多种格式的一维二维条码图像处理库,而ZXing.Net是其.Net版本的实现。

在WinForm下使用该类库需要从NuGet安装两个组件:

ZXing.Net

ZXing.Net.Bindings.Windows.Compatibility

代码实现

using ZXing;
using ZXing.Common;
using ZXing.OneD;
using ZXing.QrCode;
using ZXing.Windows.Compatibility;namespace QrCodeGen
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){var writer = new BarcodeWriter<Bitmap>();writer.Format = BarcodeFormat.QR_CODE;QrCodeEncodingOptions options = new QrCodeEncodingOptions(){DisableECI = true,       //设置内容编码CharacterSet = "UTF-8",  //设置二维码的宽度和高度Width = 200,Height = 200,Margin = 1               //设置二维码的边距,单位不是固定像素};var render = new AlternateBitmapRenderer();writer.Renderer = render;writer.Options = options;Bitmap map = writer.Write("Hello world");pictureBox1.Image = map;}private void button2_Click(object sender, EventArgs e){var w = new EAN13Writer();var render = new AlternateBitmapRenderer();render.TextFont = new Font("Segoe UI", 25);var content = "1234567890123";// EAN-13 商品条码的标准尺寸是 37.29mm x 26.26 mm ,按照 300 DPI 换算像素大小是 440 x 310var m = w.encode(content, BarcodeFormat.EAN_13, 440, 310);//渲染得到的图片var bmp = render.Render(m, BarcodeFormat.EAN_13, content, new EncodingOptions { Width = 440, Height = 310 });pictureBox2.Image = bmp;}}
}

 EAN-13商品条码是表示EAN/UCC-13商品标识代码的条码符号,由左侧空白区、起始符、左侧数据符、中间分隔符、右侧数据符、校验符、终止符、右侧空白区及供人识别字符组成。

调用示例