道家人 发表于 2022-9-30 16:19:50

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.BarCodeReadType;
                System.Console.WriteLine("Barcode Type is:" + barCodeReadType.ToString());         

                //获取条形码图片中的四个顶点坐标位置
                Point[] vertexes = barcodeInfos.Vertexes;
                //输出结果
                for(int j = 0; j < vertexes.Length; j++)
                {
                  System.Console.WriteLine(vertexes);
                }               
                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读取结果:
https://img2022.cnblogs.com/blog/706090/202209/706090-20220930135041477-893898890.png
 
—END—
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: C#/VB.NET 读取条码类型及条码在图片中的坐标位置