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

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日

相关文章

  • intellij idea创建第一个动态web项目的步骤方法

    下面是详细讲解“IntelliJ IDEA创建第一个动态Web项目的步骤方法”的完整攻略。 步骤一:安装和配置IntelliJ IDEA 1. 下载IntelliJ IDEA IntelliJ IDEA是一款非常好的Java集成开发环境,你可以在官网下载适合你的版本。选择适合的版本后按照提示完成下载和安装。 2. 安装Java JDK IntelliJ ID…

    Java 2023年6月15日
    00
  • JavaWeb HttpServletResponse对象及常用方法

    下面就来为你详细讲解“JavaWeb HttpServletResponse对象及常用方法”的完整攻略。 一、什么是HttpServletResponse对象 在JavaWeb开发中,HttpServletResponse对象代表服务器响应给客户端的HTTP应答。它是javax.servlet.http.HttpServlet类的子类,提供了一系列的方法来设…

    Java 2023年5月20日
    00
  • 关于Java中你所不知道的Integer详解

    关于Java中你所不知道的Integer详解 前言 Integer是Java的基本数据类型之一,它在我们的日常编码中使用频率很高,但是它背后的一些特性可能并不为人所知,这篇文章将详细讲解。 Integer的使用 在Java中,我们通常会用Integer来表示整数数据类型。Integer的定义方式如下: Integer i = 10; 我们也可以通过下面的方式…

    Java 2023年5月26日
    00
  • Jdbc连Sybase数据库的几种方法

    JDBC是Java数据库连接的标准接口,在Java程序中可通过JDBC来访问多种类型的数据库。本文将针对Sybase数据库,介绍几种连接Sybase数据库的方法,以及代码示例。 1. 准备工作 在使用JDBC连接Sybase数据库之前,需要先进行准备工作,包括安装Sybase数据库、Sybase驱动程序。 1.1 安装Sybase数据库 Sybase数据库是…

    Java 2023年6月16日
    00
  • swing登录注册界面设计

    下面是关于”Swing登录注册界面设计”的详细攻略。 1. Swing介绍 Swing是Java的一个GUI工具包,可以使用Swing创建出各种类型的GUI应用程序,包括桌面应用程序,游戏应用程序等。Swing提供了许多控件如文本框(Text Field)、标签(Label)、按钮(Button)、下拉框(Combo Box)、表格(Table)、列表(Li…

    Java 2023年6月15日
    00
  • 在Spring使用iBatis及配置讲解

    下面我将为您详细讲解“在Spring使用iBatis及配置讲解”的完整攻略。 前置知识 在学习使用iBatis前,我们需要掌握以下技能: 熟悉SQL语句的编写,理解SQL的基本语法和关键字; 熟悉Java语言的基础知识; 熟悉Spring框架的基本概念及使用方法。 环境准备 在使用iBatis时,我们需要准备以下环境: JDK:Java开发程序所必需的环境;…

    Java 2023年5月20日
    00
  • Golang中的变量学习小结

    《Golang中的变量学习小结》是一篇介绍Golang变量相关知识的学习笔记。按照惯例,我们先来讲解一下变量的定义和声明,同时介绍一些特殊的变量定义方式。 变量的定义和声明 在Go中,定义一个变量需要使用关键字 var,例如: var name string // 声明一个字符串类型的变量name var age int // 声明一个整数类型的变量age …

    Java 2023年5月26日
    00
  • 什么是Java性能分析工具?

    Java性能分析工具是一种用于帮助开发人员检测和诊断Java程序性能瓶颈的软件工具。它们可以通过收集数据来为开发人员提供有关程序的性能和行为的详细分析。以下是完整的使用攻略。 一、Java性能分析工具的种类 Java性能分析工具可用于分析、解决和诊断应用程序内部的各种问题。它们可以分为以下类别: 1. 堆内存分析工具 堆内存分析工具可以帮助开发人员检测和分析…

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