本文主要介绍.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;
}
}