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

yizhihongxing

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

ZXing.Net 简介

ZXing.Net 是 Google 推出的一款开源条码读写库,支持多种条码类型,包括 1D 条形码和 2D 二维码等。在 .NET 平台下,可以通过 ZXing.Net 库来生成、识别条码。

ZXing.Net 安装

可以通过 NuGet 包管理器中搜索”ZXing.Net”进行安装。或者可以在 官方网站 下载源代码并引用安装。

生成条形码

生成条形码的过程分为以下几步:

  1. 导入 ZXing.Net 库

    using ZXing;
    using System.Drawing;
    using System.Drawing.Imaging;

  2. 创建 BarcodeWriter 类的实例

    BarcodeWriter writer = new BarcodeWriter
    {
    Format = BarcodeFormat.CODE_128
    };

  3. 设置条码的配置

    writer.Options = new EncodingOptions
    {
    Height = 80,
    Width = 250
    };

  4. 生成条码图像

    Bitmap bitmap = writer.Write("1234567890");

  5. 保存条码图像

    bitmap.Save(@"C:\条形码\code128.png", ImageFormat.Png);

完整代码如下:

using ZXing;
using System.Drawing;
using System.Drawing.Imaging;

class Program
{
    static void Main(string[] args)
    {
        // 创建 BarcodeWriter 类的实例
        BarcodeWriter writer = new BarcodeWriter
        {
            Format = BarcodeFormat.CODE_128
        };

        // 设置条码的配置
        writer.Options = new EncodingOptions
        {
            Height = 80,
            Width = 250
        };

        // 生成条码图像
        Bitmap bitmap = writer.Write("1234567890");

        // 保存条码图像
        bitmap.Save(@"C:\条形码\code128.png", ImageFormat.Png);
    }
}

生成二维码

生成二维码的过程与生成条形码类似,只需将 BarcodeFormat.CODE_128 改为 BarcodeFormat.QR_CODE 即可。

完整代码如下:

using ZXing;
using System.Drawing;
using System.Drawing.Imaging;

class Program
{
    static void Main(string[] args)
    {
        // 创建 BarcodeWriter 类的实例
        BarcodeWriter writer = new BarcodeWriter
        {
            Format = BarcodeFormat.QR_CODE
        };

        // 设置二维码的配置
        writer.Options = new QrCodeEncodingOptions
        {
            DisableECI = true,
            CharacterSet = "UTF-8",
            Width = 300,
            Height = 300
        };

        // 生成二维码图像
        Bitmap bitmap = writer.Write("https://www.example.com");

        // 保存二维码图像
        bitmap.Save(@"C:\二维码\qrcode.png", ImageFormat.Png);
    }
}

示例

以下是一个生成多个类型条码的示例,供参考:

using ZXing;
using System.Drawing;
using System.Drawing.Imaging;

class Program
{
    static void Main(string[] args)
    {
        // 创建编码器类实例
        BarcodeWriter writer = new BarcodeWriter
        {
            Format = BarcodeFormat.CODE_128
        };

        // 设置条形码配置
        writer.Options = new EncodingOptions
        {
            Height = 80,
            Width = 250
        };

        // 生成 Code 128 条形码
        Bitmap bitmap1 = writer.Write("1234567890");

        // 保存 Code 128 条形码
        bitmap1.Save(@"C:\条形码\code128.png", ImageFormat.Png);

        // 设置二维码的配置
        writer.Format = BarcodeFormat.QR_CODE;
        writer.Options = new QrCodeEncodingOptions
        {
            DisableECI = true,
            CharacterSet = "UTF-8",
            Width = 300,
            Height = 300
        };

        // 生成 QR Code 二维码
        Bitmap bitmap2 = writer.Write("https://www.example.com");

        // 保存 QR Code 二维码
        bitmap2.Save(@"C:\二维码\qrcode.png", ImageFormat.Png);
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#利用ZXing.Net生成条形码和二维码 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • java中 Set与Map排序输出到Writer详解及实例

    概述 Set 与 Map 都是 Java 中常用的集合类型,它们各自有不同的特点和用途。而排序则是对集合中的元素进行按照特定规则的排序,使得输出的结果更加具有可读性和便于理解。本篇文章将详细讲解如何对 Set 和 Map 进行排序,并将最终结果输出到 Writer 中。 Set排序输出到Writer的示例 下面是如何对 Set 进行排序,然后输出到 Writ…

    Java 2023年5月26日
    00
  • 生成无限制的微信小程序码的示例代码

    生成无限制的微信小程序码需要通过调用微信开发者工具的接口实现。下面是详细的步骤: 1. 开启开发者工具服务器功能 在微信开发者工具的顶栏中点击“设置”按钮,在弹出的设置页面中开启“开发者工具服务”,如果之前没有设置安全域名,开启之后需要先设置安全域名。 2. 获取 session_key 调用 wx.login() 方法获取 code,然后通过以下方式获取 …

    Java 2023年5月23日
    00
  • java中@DateTimeFormat和@JsonFormat注解的使用

    讲解java中@DateTimeFormat和@JsonFormat注解的使用。 @DateTimeFormat和@JsonFormat注解的概述 在Java中,我们常常需要处理日期和时间相关的数据,而日期和时间的格式化是一个必须注意的问题。@DateTimeFormat和@JsonFormat都是Spring框架中的注解。它们可以为Java中的日期和时间类…

    Java 2023年5月20日
    00
  • IDEA中用maven连接数据库的教程

    当使用IntelliJ IDEA作为Java开发工具时,可以使用Maven连接数据库。该过程涉及到以下步骤: 配置数据库驱动程序 在项目的pom.xml文件中添加数据库驱动程序的依赖。例如,如果你要使用MySQL数据库,你可以添加以下依赖: <dependency> <groupId>mysql</groupId> &lt…

    Java 2023年5月20日
    00
  • Java web实现简单注册功能

    实现一个简单的Java web注册功能需要涉及到以下步骤: 创建数据表 首先需要在数据库中创建一个用户信息表,其中包括用户名和密码等基本信息。 CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password` va…

    Java 2023年5月19日
    00
  • 一个合格的程序员应该读过哪些书(偏java)

    一个合格的程序员应该读过哪些书(偏 Java) 作为一名合格的程序员,阅读技术书籍是必不可少的,本文将为大家介绍几本值得程序员阅读的 Java 书籍。 基础篇 《Java核心技术 卷1+卷2》 这是 Java 开发者学习 Java 语言核心知识的第一本书,它的第一卷全面讲解了 Java 语言中的基础概念和关键技术,第二卷则着重介绍 Java 的高级特性。无论…

    Java 2023年5月20日
    00
  • Java web实现头像上传以及读取显示

    下面我将为您详细讲解如何使用Java web实现头像上传以及读取显示的完整攻略。 1. 准备工作 在开始实现之前,需要确保您已经有如下几个基本的环境: 开发环境:Eclipse或者IntelliJ IDEA 服务器环境:Tomcat 数据库:MySQL 同时,需要引入如下两个库: commons-fileupload-1.3.1.jar commons-io…

    Java 2023年5月20日
    00
  • java编程常用技术(推荐)

    Java编程常用技术(推荐) 在Java编程中,有一些常用的技术和工具,这些技术和工具可以帮助开发者提高编程效率、降低编程难度和优化程序性能。以下是本文推荐的Java编程常用技术: 1. 集合框架 Java集合框架提供了一系列的数据结构和算法,可以帮助开发者存储和操作不同类型的数据。集合框架分为三个层次:接口、实现和算法。接口层次定义了所有的集合类应该有的方…

    Java 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部