使用C#和ZXing开发的码生成与识别软件

 更新时间:2025年12月22日 08:38:04   作者:2504_94300549  
在当今数字化时代,二维码、条形码等各种码的应用无处不在,今天咱就来聊聊怎么用C#语言搭配ZXing库开发一款码生成与识别的软件,这过程可有趣啦,需要的朋友可以参考下

准备工作

首先得在项目里引入ZXing库。咱可以通过NuGet包管理器来搞定,打开“程序包管理器控制台”,敲入以下命令:

Install-Package ZXing.Net

这就把ZXing.Net这个包给装上了,它可是咱开发的得力助手。

生成码

生成码的过程其实不难。咱先来看生成二维码的代码示例:

using ZXing;
using ZXing.QrCode;
using System.Drawing;

class Program
{
    static void Main()
    {
        string content = "https://www.example.com";// 要编码到二维码里的内容
        BarcodeWriter writer = new BarcodeWriter
        {
            Format = BarcodeFormat.QR_CODE,
            Options = new QrCodeEncodingOptions
            {
                Height = 300,
                Width = 300
            }
        };
        Bitmap result = writer.Write(content);
        result.Save("qrcode.png");
    }
}

这段代码里,咱先定义了要编码到二维码里的内容content,这里是一个网址。然后创建了一个BarcodeWriter对象,指定它生成的格式是QR_CODE,也就是二维码啦。还设置了二维码图片的高度和宽度为300像素。接着调用Write方法把内容写进二维码,最后把生成的二维码以图片的形式保存下来,名字叫qrcode.png

要是想生成条形码,代码也类似,只需要改改格式就行:

using ZXing;
using ZXing.Common;
using System.Drawing;

class Program
{
    static void Main()
    {
        string content = "123456789012";// 条形码内容
        BarcodeWriter writer = new BarcodeWriter
        {
            Format = BarcodeFormat.CODE_128,
            Options = new EncodingOptions
            {
                Height = 100,
                Width = 300
            }
        };
        Bitmap result = writer.Write(content);
        result.Save("barcode.png");
    }
}

这里把格式改成了CODE_128,这是一种常见的条形码格式,然后设置下合适的高度和宽度,就生成条形码图片barcode.png了。

识别码

识别码同样很有意思。下面是识别二维码和条形码的代码:

using ZXing;
using ZXing.Common;
using System.Drawing;

class Program
{
    static void Main()
    {
        string filePath = "qrcode.png";// 要识别的图片路径
        var bitmap = new Bitmap(filePath);
        var reader = new BarcodeReader();
        var result = reader.Decode(new BitmapLuminanceSource(bitmap));
        if (result!= null)
        {
            Console.WriteLine("识别结果: " + result.Text);
        }
        else
        {
            Console.WriteLine("未识别到有效码");
        }
    }
}

这段代码里,先指定了要识别的图片路径filePath,这里假设是之前生成的qrcode.png。接着创建一个Bitmap对象加载图片,再创建一个BarcodeReader对象来做识别工作。调用Decode方法传入图片的亮度源BitmapLuminanceSource,如果识别成功,result就会有值,咱把识别出来的文本打印出来;要是没识别到,就提示“未识别到有效码”。

用C#结合ZXing开发码生成与识别软件是不是还挺酷的?无论是用于开发工具类软件,还是集成到大型项目里,这个技能都超实用,大家不妨动手试试,说不定还能发现更多有趣的应用场景呢!

到此这篇关于使用C#和ZXing开发的码生成与识别软件的文章就介绍到这了,更多相关C# ZXing码生成与识别软件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c#实现sunday算法实例

    c#实现sunday算法实例

    Sunday算法思想跟BM算法很相似,在匹配失败时关注的是文本串中参加匹配的最末位字符的下一位字符,下面是用C#实现sunday的实例代码,有需要的朋友可以参考一下
    2013-08-08
  • 在C#中如何使用JSON

    在C#中如何使用JSON

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有易读、易解析的特点,广泛用于API数据交互、配置文件等,本文介绍在C#中如何使用JSON,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • C#中StringBuilder类的使用总结

    C#中StringBuilder类的使用总结

    本篇文章主要是对C#中StringBuilder类的使用方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • 使用c#开发公众平台自定义菜单功能

    使用c#开发公众平台自定义菜单功能

    微信公众平台服务号开放了自定义菜单API,本案例介绍C#开发微信公众号自定义菜单功能。在此基础上可以开发更完善的自定义菜单管理功能
    2014-01-01
  • C# 结合 Javascript 测试获取天气信息

    C# 结合 Javascript 测试获取天气信息

    本文将介绍如何使用 C# 并结合 JavaScript 获取天气信息,获取的数据来源于360浏览器首页数据,对C# 获取天气信息示例代码感兴趣的朋友一起看看吧
    2024-08-08
  • C#静态代码织入AOP组件之Rougamo的使用详解

    C#静态代码织入AOP组件之Rougamo的使用详解

    Rougamo是一个静态代码织入的AOP组件,同为AOP组件较为常用的有Castle、Autofac、AspectCore等,下面就跟随小编一起来学习一下它的具体使用吧
    2024-01-01
  • C#如何添加PPT背景

    C#如何添加PPT背景

    这篇文章主要为大家详细介绍了C#如何添加PPT背景,添加纯色背景、渐变色背景、图片背景等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • c#基础系列之System.String的深入理解

    c#基础系列之System.String的深入理解

    这篇文章主要给大家介绍了关于c#基础系列之System.String的深入理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • c#编写的高并发数据库控制访问代码

    c#编写的高并发数据库控制访问代码

    往往大数据量,高并发时, 瓶颈都在数据库上, 好多人都说用数据库的复制,发布, 读写分离等技术, 但主从数据库之间同步时间有延迟.
    2015-03-03
  • 详解C#如何监控选定文件夹中文件的变动情况

    详解C#如何监控选定文件夹中文件的变动情况

    这篇文章主要为大家详细介绍了C#如何监控选定文件夹中文件的变动情况,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12

最新评论