.NET Core(C#)使用BarcodeLib生成条码图片

2022/7/23 14:25:20

本文主要是介绍.NET Core(C#)使用BarcodeLib生成条码图片,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

原文:https://www.cjavapy.com/article/786/

 

使用Nuget界面管理器

搜索“BarcodeLib”,在列表中找到它,点击“安装”

  

using System;
using System.IO;
using System.DrawingCore.Imaging;
using BarcodeLib;

namespace MyTest.Common
{
    public class BarcodeHelper
    {
        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);
            }
        }

        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;
            }
        }
    }
}

 webapi中使用时直接输出图片示例:

[HttpGet]
public IActionResult GetBarCode(string Code)
{
   var bytes = BarcodeHelper.GetBarCode(Code);          
   return File(bytes, "image/jpeg");
}

 



这篇关于.NET Core(C#)使用BarcodeLib生成条码图片的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程