C#/VB.NET 读取条码类型及条码在图片中的坐标位置

我们在创建条形码时,如果以图片的方式将创建好的条码保存到指定文件夹路径,可以在程序中直接加载图片使用;已生成的条码图片,需要通过读取图片中的条码信息,如条码类型、条码绘制区域在图片中的四个顶点坐标位置等,可参考本文中的方法。

:读取时,也支持读取二维码类型。


 

引入dll

调用API:Spire.Barcode for .NET

两种方法:

1. 在VS中通过“管理NuGet包”,搜索“Spire.Barcode”安装;

或者通过PM控制台安装:

PM> NuGet\Install-Package Spire.Barcode -Version 6.8.0

2. 官网下载包安装到本地路径,然后将安装路径下的Spire.Barcode.dll手动引入到VS程序。


 

读取条码类型及顶点坐标

C#

using Spire.Barcode;
using Spire.Barcode.Settings;
using System.Drawing;

namespace GetBarcode
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载条码图片
            BarcodeInfo[] barcodeInfos = BarcodeScanner.ScanInfo("img.png");
            for (int i = 0; i < barcodeInfos.Length; i++)
            {
                //获取条码类型
                BarCodeReadType barCodeReadType = barcodeInfos[i].BarCodeReadType;
                System.Console.WriteLine("Barcode Type is:" + barCodeReadType.ToString());           

                //获取条形码图片中的四个顶点坐标位置
                Point[] vertexes = barcodeInfos[i].Vertexes;
                //输出结果
                for(int j = 0; j < vertexes.Length; j++)
                {
                    System.Console.WriteLine(vertexes[j]);
                }               
                System.Console.ReadKey();
            }
        }
    }
}

VB.NET

Imports Spire.Barcode
Imports Spire.Barcode.Settings
Imports System.Drawing

Namespace GetBarcode
    Class Program
        Private Shared Sub Main(args As String())
            '加载条码图片
            Dim barcodeInfos As BarcodeInfo() = BarcodeScanner.ScanInfo("img.png")
            For i As Integer = 0 To barcodeInfos.Length - 1
                '获取条码类型
                Dim barCodeReadType As BarCodeReadType = barcodeInfos(i).BarCodeReadType
                System.Console.WriteLine("Barcode Type is:" + barCodeReadType.ToString())

                '获取条形码图片中的四个顶点坐标位置
                Dim vertexes As Point() = barcodeInfos(i).Vertexes
                '输出结果
                For j As Integer = 0 To vertexes.Length - 1
                    System.Console.WriteLine(vertexes(j))
                Next
                System.Console.ReadKey()
            Next
        End Sub
    End Class
End Namespace

读取结果:

 

—END—

 

posted @ 2022-09-30 14:02  E-iceblue  阅读(553)  评论(0编辑  收藏  举报