开发者

C#使用BarcodeLib生成条形码的完整代码

目录
  • 前言
  • 一、BarcodeLib 简介
  • 二、准备工作
    • 安装 BarcodeLib
  • 三、Barcode 类的核心属性说明
    • 四、支持的条码类型枚举 (Type)
      • 五、界面设计
        • 六、示例代码
          • 示例一:基础条码生成
          • 示例二:自定义样式生成
        • 总结
          • 最后

            前言

            现代工业、物流、零售等领域,条形码作为信息识别的重要手段被广泛应用。BarcodeLib 是一个开源的 C# 库,专为大家提供便捷、高效的条形码生成功能。它支持多种常见的条码格式,并具备良好的可定制性和性能表现。

            本文将详细介绍如何在 WinForm 项目中集成和使用 BarcodeLib 库,展示完整的代码示例与运行效果,帮助大家快速实现条形码的生成与显示。

            一、BarcodeLib 简介

            BarcodeLib 是一个功能强大且易于使用的条形码生成库,适用于 .NET 平台开发。其主要特点包括:

            支持多种常见条形码格式(如 Code 128、EAN-13、UPC-A、Code 39、Postnet 等)

            提供丰富的样式设置选项(颜色、字体、尺寸等)

            高性能生成机制,适合企业级应用

            开源免费,便于扩展和定制

            二、准备工作

            安装 BarcodeLib

            创建一个新的 WinForm 应用程序项目后,使用 NuGet 安装 BarcodeLib

            Install-Package BarcodeLib
            

            C#使用BarcodeLib生成条形码的完整代码

            该库基于 SkiaSharp 渲染图像,因此也依赖于 SkiaSharp 的相关包,请确保项目中已正确引用以下命名空间:

            using BarcodeStandard;
            using SkiaSharp;
            

            三、Barcode 类的核心属性说明

            以下是 Barcode 类中一些关键属性:

            属性名称描述
            RawData要编码的原始数据
            EncodedValuephp码后的值(只读)
            EncodedType条码类型(如 UPC-A, EAN-13 等)
            ForeColor / BackColor条码线条颜色 / 背景颜色
            LabelFont标签字体设置
            Width / Height图像宽度 / 高度
            IncludeLabel是否显示标签
            AlternateLabel自定义标签文本

            这些属性高度自定义条形码的外观和行为。

            四、支持的条码类型枚举 (Type)

            BarcodeLib 支持以下条码格式(部分列举):

            public enum Type
            {
                Unspecified,
                UpcA,
                Ean13,
                Code39,
                PostNet,
                Code128,
                // ...其他格式省略
            }
            

            可以根据实际需求选择合适的条码类型进行生成。

            五、界面设计

            在 WinForm 界面中添加以下控件:

            • TextBox:用于输入条码内容,命名为 txtCode

            • Button:用于触发生成操作,命名为 btnGenerate,文本设为"生成条码"

            • PictureBox:用于显示生成的条码图像,命名为 picBarcode

            六、示例代码

            示例一:基础条码生成

            using BarcodeStandard;
            using SkiaSharp;
            
            namespace AppBarcodeLib
            {
                public partial class Form1 : Form
                {
                    public Form1()
                    {
                        InitializeComponent();
                    }
            
                    private void btnGenerate_Click(object sender, EventArgs e)
                    {
                        string input = txtCode.Text;
                        if (string.IsNullOrWhiteSpace(input))
                        {
                            MessageBox.Show("请输入条码内容", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
            
                        try
                        {
                            Barcode b = new B编程客栈arcode();
                            b.IncludeLabel = true;
            
                            SKImage skImage = b.Encode(BarcodeStandard.Type.Code128, input, SKColors.Black, SKColors.White, 300, 100);
            
                            using (SKData data = skpythonImage.Encode())
                            {
                                using (MemoryStream stream = new MemoryStream(data.ToArray()))
                                {
                                    picBarcode.Image = Image.FromStream(stream);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
               http://www.devze.com             MessageBox.Show($"生成条码时发生错误: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
            

            示例二:自定义样式生成

            using System;
            using System.Drawing;
            using System.Windows.Forms;
            using BarcodeStandard;
            using SkiaSharp;
            
            namespace AppBarcodeLib
            {
                ppythonublic partial class Form2 : Form
                {
                    public Form2()
                    {
                        InitializeComponent();
                    }
            
                    public void GenerateBarcode()
                    {
                        Barcode barcode = new Barcode
                        {
                            RawData = txtCode.Text,
                            EncodedType = Type.Ean13,
                            Width = 300,
                            Height = 150
                        };
            
                        barcode.ForeColor = SKColors.Blue;
                        barcode.BackColor = SKColors.LightGray;
                        barcode.IncludeLabel = true;
                        barcode.AlternateLabel = "Custom Text";
            
                        barcode.LabelFont = new SKFont
                        {
                            Typeface = SKTypeface.FromFamilyName("Times New Roman", SKFontStyle.Bold),
                            Size = 32
                        };
            
                        SKImage skImage = barcode.Encode(txtCode.Text);
            
                        using (SKData data = skImage.Encode())
                        {
                            using (MemoryStream stream = new MemoryStream(data.ToArray()))
                            {
                                System.Drawing.Image windowsImage = System.Drawing.Image.FromStream(stream);
                                picBarcode.Image = windowsImage;
                            }
                        }
                    }
            
                    private void btnGenerate_Click(object sender, EventArgs e)
                    {
                        GenerateBarcode();
                    }
                }
            }
            

            C#使用BarcodeLib生成条形码的完整代码

            总结

            通过本文的学习,我们了解了如何使用 BarcodeLib 库在 WinForm 项目中生成条形码,并掌握了基本的条码类型、样式设置以及图像输出方法。

            该库不仅支持多种主流条码格式,还提供了丰富的 API 和良好的性能,非常适合用于需要嵌入条码生成功能的企业级应用程序。无论是简单的条码打印还是复杂的定制化显示,BarcodeLib 都能满足你的需求。

            关键词:BarcodeLib,WinForm,条形码生成,Code 128,EAN-13,Code 39,SkiaSharp,C#,图像处理,开源库

            最后

            以上就是C#使用BarcodeLib生成条形码的完整代码的详细内容,更多关于C# BarcodeLib生成条形码的资料请关注编程客栈(www.devze.com)其它相关文章!

            0

            上一篇:

            下一篇:

            精彩评论

            暂无评论...
            验证码 换一张
            取 消

            最新开发

            开发排行榜