it编程 > 编程语言 > Asp.net

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

15人参与 2025-06-04 Asp.net

前言

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

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

一、barcodelib 简介

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

支持多种常见条形码格式(如 code 128、ean-13、upc-a、code 39、postnet 等)

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

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

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

二、准备工作

安装 barcodelib

创建一个新的 winform 应用程序项目后,使用 nuget 安装 barcodelib

install-package barcodelib

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

using barcodestandard;
using skiasharp;

三、barcode 类的核心属性说明

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

属性名称描述
rawdata要编码的原始数据
encodedvalue编码后的值(只读)
encodedtype条码类型(如 upc-a, ean-13 等)
forecolor / backcolor条码线条颜色 / 背景颜色
labelfont标签字体设置
width / height图像宽度 / 高度
includelabel是否显示标签
alternatelabel自定义标签文本

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

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

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

public enum type
{
    unspecified,
    upca,
    ean13,
    code39,
    postnet,
    code128,
    // ...其他格式省略
}

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

五、界面设计

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

六、示例代码

示例一:基础条码生成

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 barcode();
                b.includelabel = true;

                skimage skimage = b.encode(barcodestandard.type.code128, input, skcolors.black, skcolors.white, 300, 100);

                using (skdata data = skimage.encode())
                {
                    using (memorystream stream = new memorystream(data.toarray()))
                    {
                        picbarcode.image = image.fromstream(stream);
                    }
                }
            }
            catch (exception ex)
            {
                messagebox.show($"生成条码时发生错误: {ex.message}", "错误", messageboxbuttons.ok, messageboxicon.error);
            }
        }
    }
}

示例二:自定义样式生成

using system;
using system.drawing;
using system.windows.forms;
using barcodestandard;
using skiasharp;

namespace appbarcodelib
{
    public 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();
        }
    }
}

总结

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

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

关键词:barcodelib,winform,条形码生成,code 128,ean-13,code 39,skiasharp,c#,图像处理,开源库

最后

以上就是c#使用barcodelib生成条形码的完整代码的详细内容,更多关于c# barcodelib生成条形码的资料请关注代码网其它相关文章!

(0)

您想发表意见!!点此发布评论

推荐阅读

C#代码实现解析WTGPS和BD数据

06-04

C#实现Struct结构体与IntPtr转换的示例详解

06-05

C#基于Whisper.net实现语音识别功能的示例详解

06-03

跑分惊人! Core Ultra 9 285HX搭配RTX 5090移动版组装机性能有多强?

06-02

Core i5-12400F搭配RX 9070 XT组装会拖后腿吗? 多款游戏性能测试对比

06-02

C#封装HttpClient实现HTTP请求处理

06-06

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论