基于C#生成条形码操作知识汇总附源码下载

基于C#生成条形码操作知识汇总

什么是条形码?

条形码(英文:Barcode)是用一组粗细不同、间距不同且被平行分成若干个基本单元的直线条及空白,按一定的编码规则,代表不同的字符信息,并经过光电扫描或照相机扫描得到的一种自动识别技术。

C# 中生成条形码的方式

在C#中,可以通过使用各种第三方库和自定义代码的方式来生成条形码。其中主要的几种库包括:

  1. ZXing.Net:这是Google的ZXing项目的.NET移植版本,是一个功能强大、易于使用的开源条形码生成库。

  2. BarcodeLib:这也是一个免费、开源的C#条形码生成库。

  3. Microsoft.ReportingServices.ReportRendering.Barcode:这是Microsoft官方提供的.NET条形码生成库。

使用ZXing.Net生成条形码

下面是使用ZXing.Net生成条形码的示例代码:

using ZXing;
using System.Drawing;

void GenerateBarcode(string content, int width, int height, string filePath)
{
    var barcodeWriter = new BarcodeWriterPixelData
    {
        Format = BarcodeFormat.CODE_128,
        Options = new EncodingOptions
        {
            Height = height,
            Width = width,
            Margin = 0
        }
    };
    var pixelData = barcodeWriter.Write(content);
    using (var bitmap = new Bitmap(pixelData.Width, pixelData.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb))
    using (var ms = new MemoryStream())
    {
        var bitmapData = bitmap.LockBits(new Rectangle(0, 0, pixelData.Width, pixelData.Height), ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppRgb);
        try
        {
            Marshal.Copy(pixelData.Pixels, 0, bitmapData.Scan0, pixelData.Pixels.Length);
        }
        finally
        {
            bitmap.UnlockBits(bitmapData);
        }

        bitmap.Save(ms, ImageFormat.Png);
        File.WriteAllBytes(filePath, ms.ToArray());
    }
}

其中,content为条形码文字内容,width和height为条形码宽度和高度,filePath表示生成的条形码保存的文件路径。

使用BarcodeLib生成条形码

下面是使用BarcodeLib生成条形码的示例代码:

using BarcodeLib;

void GenerateBarcode(string content, int width, int height, string filePath)
{
    var barcode = new Barcode();
    barcode.IncludeLabel = true;
    barcode.LabelFont = new Font("Arial", 10);
    barcode.LabelPosition = LabelPositions.BOTTOMCENTER;
    var image = barcode.Encode(BarcodeLib.TYPE.CODE128, content, width, height);
    image.Save(filePath, ImageFormat.Png);
}

其中,content为条形码文字内容,width和height为条形码宽度和高度,filePath表示生成的条形码保存的文件路径。

下载示例源码

以上是使用两种常见的C#条形码生成库的示例代码。如果你对这个话题感兴趣,可以下载以下示例代码:

基于C#生成条形码操作知识汇总附源码下载

该示例代码包括使用ZXing.Net和BarcodeLib生成条形码的示例,及其它一些常见的操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于C#生成条形码操作知识汇总附源码下载 - Python技术站

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

相关文章

  • ASP.NET Core MVC通过IActionFilter.OnActionExecuting方法,获取Controller的Action方法参数值

    用过ASP.NET Core MVC中IActionFilter拦截器的开发人员,都知道这是一个非常强大的MVC拦截器。最近才发现IActionFilter的OnActionExecuting方法,甚至可以获取Controller的Action方法参数值。 假如我们在ASP.NET Core MVC项目中有一个HomeController,其中有一个Acti…

    C# 2023年4月24日
    00
  • .NET Core读取配置文件

    下面是“.NET Core读取配置文件”的完整攻略: 1. 创建配置文件 首先,我们需要在项目中创建一个配置文件,以便存放我们需要读取的配置信息。配置文件可以是JSON、XML或INI等格式。这里我们以JSON格式作为示例,创建一个名为appsettings.json的文件,并在文件中添加配置信息。如下所示,我们添加了一个名为”ConnectionStrin…

    C# 2023年6月3日
    00
  • 精简高效的C#网站优化经验技巧总结

    精简高效的C#网站优化经验技巧总结 1. 压缩响应数据 压缩响应数据是提高C#网站性能的常用技巧。可以使用Gzip压缩算法来减小响应数据的大小。在IIS上,开启静态压缩和动态压缩可以提高网站的响应速度。代码示例如下: using System.IO.Compression; protected void Application_PreRequestHandl…

    C# 2023年5月15日
    00
  • .NET中的属性用法分析

    .NET中的属性用法分析 属性是.NET框架中的一个关键特性,它提供了一种在运行时为对象附加元数据以及在对象上设置特定行为的机制。本文将深入介绍属性的用法分析。 属性的定义 属性定义与函数定义的核心区别在于,属性指定了用于获取或设置值的特定方法。 如下是一个示例: public class Person { private string name; publ…

    C# 2023年5月31日
    00
  • C# 邮件发送和接收实现代码

    下面是关于”C# 邮件发送和接收实现代码”的完整攻略。 一、前言 在应用开发过程中,邮件的发送和接收是比较常见的需求。C#提供了一个非常强大的库——System.Net.Mail,可以很方便地实现邮件的发送和接收。 二、C# 邮件发送 1. SmtpClient 类 SmtpClient 类用于发送电子邮件。在使用 SmtpClient 前,需要设置 Hos…

    C# 2023年5月31日
    00
  • C# .NET 中的缓存实现详情

    C#.NET中的缓存实现详情 什么是缓存? 缓存是计算机中常用的性能优化机制之一,它将一些已经经过计算的数据暂存在计算机的内存中,以便后续的使用,以减少后续访问时的计算代价。 C#.NET中的缓存实现 在C#.NET中,可以使用System.Runtime.Caching命名空间中的MemoryCache类进行缓存的实现。 MemoryCache类的基本用法…

    C# 2023年5月15日
    00
  • C#实现语音视频录制-附demo源码

    标题:C#实现语音视频录制-附demo源码完整攻略 简介 本攻略旨在介绍如何使用C#实现语音视频录制的方法,并提供示例代码。该方法基于NAudio和AForge库,可以在Windows系统中实现对声音和视频的录制,并支持保存为MP4格式。 步骤 下载并安装NAudio和AForge库。 在项目中引用这两个库。 添加代码: private void Start…

    C# 2023年6月6日
    00
  • C#匿名方法与Delegate类型转换错误分析

    下面我来详细讲解一下C#匿名方法与Delegate类型转换错误分析的完整攻略。 什么是匿名方法 匿名方法是在C#2.0中新增的特性,它可以在运行时动态地创建一段匿名代码块。匿名方法可以作为方法参数,或赋值给一个委托类型的变量,以便在稍后时间执行。 匿名方法的语法如下: delegate(parameters) { /* 方法体 */ } 其中,delegat…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部