本文主要介绍.NET Core(C#)中,使用BarcodeLib生成图片格式的条码(Barcode)的方法,以及相关的示例代码。
1、通过Nuget安装引用BarcodeLib
1)使用Nuget界面管理器
搜索“BarcodeLib”
,在列表中分别找到它,点击"安装"
相关文档:VS(Visual Studio)中Nuget的使用
2)使用Package Manager命令安装
PM> Install-Package BarcodeLib
3)使用.NET CLI命令安装
> dotnet add package BarcodeLib
2、使用BarcodeLib生成条码图片
命名空间:
using System;
using System.IO;
using System.DrawingCore.Imaging;
using BarcodeLib;
1)保存成图片
public static void GetBarCode(string Code, string path, TYPE type = TYPE.CODE128, int Length = 1000, int Height = 200, int FontSize = 40)
{
try
{
using (Barcode barcode = new Barcode())
{
using (MemoryStream ms = new MemoryStream())
{
barcode.IncludeLabel = true;
barcode.Alignment = AlignmentPositions.CENTER;
barcode.LabelFont = new System.Drawing.Font(System.Drawing.FontFamily.GenericMonospace, FontSize, System.Drawing.FontStyle.Regular);
var barcodeImage = barcode.Encode(type, Code, System.Drawing.Color.Black, System.Drawing.Color.White, Length, Height);
barcodeImage.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
2)返回图片的字节数据
public static byte[] GetBarCode(string Code, TYPE type = TYPE.CODE128, int Length = 1000, int Height = 200, int FontSize = 40)
{
try
{
using (Barcode barcode = new Barcode())
{
using (MemoryStream ms = new MemoryStream())
{
barcode.IncludeLabel = true;
barcode.Alignment = AlignmentPositions.CENTER;
barcode.LabelFont = new System.Drawing.Font(System.Drawing.FontFamily.GenericMonospace, FontSize, System.Drawing.FontStyle.Regular);
var barcodeImage = barcode.Encode(type, Code, System.Drawing.Color.Black, System.Drawing.Color.White, Length, Height);
barcodeImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
ms.Position = 0;
using (BinaryReader reader = new BinaryReader(ms))
{
byte[] bytes = (byte[])reader.ReadBytes((int)ms.Length).Clone();
reader.Dispose();
ms.Dispose();
return bytes;
}
}
}
}
catch (Exception)
{
return null;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?