15人参与 • 2025-06-04 • Asp.net
现代工业、物流、零售等领域,条形码作为信息识别的重要手段被广泛应用。barcodelib 是一个开源的 c# 库,专为大家提供便捷、高效的条形码生成功能。它支持多种常见的条码格式,并具备良好的可定制性和性能表现。
本文将详细介绍如何在 winform 项目中集成和使用 barcodelib 库,展示完整的代码示例与运行效果,帮助大家快速实现条形码的生成与显示。
barcodelib 是一个功能强大且易于使用的条形码生成库,适用于 .net 平台开发。其主要特点包括:
支持多种常见条形码格式(如 code 128、ean-13、upc-a、code 39、postnet 等)
提供丰富的样式设置选项(颜色、字体、尺寸等)
高性能生成机制,适合企业级应用
开源免费,便于扩展和定制
创建一个新的 winform 应用程序项目后,使用 nuget 安装 barcodelib
:
install-package barcodelib
该库基于 skiasharp 渲染图像,因此也依赖于 skiasharp 的相关包,请确保项目中已正确引用以下命名空间:
using barcodestandard; using skiasharp;
以下是 barcode
类中一些关键属性:
属性名称 | 描述 |
---|---|
rawdata | 要编码的原始数据 |
encodedvalue | 编码后的值(只读) |
encodedtype | 条码类型(如 upc-a, ean-13 等) |
forecolor / backcolor | 条码线条颜色 / 背景颜色 |
labelfont | 标签字体设置 |
width / height | 图像宽度 / 高度 |
includelabel | 是否显示标签 |
alternatelabel | 自定义标签文本 |
这些属性高度自定义条形码的外观和行为。
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 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生成条形码的资料请关注代码网其它相关文章!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论