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

 更新时间:2023年12月30日 08:32:36   作者:rjcql  
ZXing用Java实现的多种格式的一维二维条码图像处理库,而ZXing.Net是其.Net版本的实现,下面我们就来看看 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 310
            var 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商品标识代码的条码符号,由左侧空白区、起始符、左侧数据符、中间分隔符、右侧数据符、校验符、终止符、右侧空白区及供人识别字符组成。

调用示例

到此这篇关于C#使用ZXing.Net实现生成二维码和条码的文章就介绍到这了,更多相关C#生成二维码条码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c#进程之间对象传递方法

    c#进程之间对象传递方法

    本文主要介绍了c#进程之间对象传递的方法。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • 浅谈C# 字段和属性

    浅谈C# 字段和属性

    这篇文章主要介绍了C# 字段和属性的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 使用C#连接SQL Server的详细图文教程

    使用C#连接SQL Server的详细图文教程

    初学者学习上位机开发遇到数据库连接不上,是很常见的情况,可能会以各种形式呈现出来,下面这篇文章主要给大家介绍了关于使用C#连接SQL Server的详细图文教程,需要的朋友可以参考下
    2023-02-02
  • c# 从内存中释放Selenium chromedriver.exe

    c# 从内存中释放Selenium chromedriver.exe

    这篇文章主要介绍了c# 从内存中释放Selenium chromedriver.exe的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-01-01
  • Winform下实现图片切换特效的方法

    Winform下实现图片切换特效的方法

    这篇文章主要介绍了Winform下实现图片切换特效的方法,包括百叶窗、淡入、旋转等多种效果,需要的朋友可以参考下
    2014-08-08
  • 10个C#程序员经常用到的实用代码片段

    10个C#程序员经常用到的实用代码片段

    如果你是一个C#程序员,那么本文介绍的10个C#常用代码片段一定会给你带来帮助,从底层的资源操作,到上层的UI应用,这些代码也许能给你的开发节省不少时间。以下是原文:
    2015-09-09
  • C#中序列化实现深拷贝,实现DataGridView初始化刷新的方法

    C#中序列化实现深拷贝,实现DataGridView初始化刷新的方法

    下面小编就为大家带来一篇C#中序列化实现深拷贝,实现DataGridView初始化刷新的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • C#视频转换类分享

    C#视频转换类分享

    这篇文章主要为大家分享了C#视频转换类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • C# 中IRecipient的具体使用

    C# 中IRecipient的具体使用

    IRecipient<TMessage> 是 .NET 中消息传递机制的重要组成部分,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-06-06
  • C#实现在应用程序间发送消息的方法示例

    C#实现在应用程序间发送消息的方法示例

    这篇文章主要介绍了C#实现在应用程序间发送消息的方法,结合具体实例形式分析了C#实现项目之间信息发送、接收等交互操作相关技巧,需要的朋友可以参考下
    2017-06-06

最新评论