开发手册 欢迎您!
软件开发者资料库

.NET Core(C#)使用BarcodeLib生成条码图片数据及示例代码

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