Class BarCodeReader

Class BarCodeReader

Namespace: Aspose.BarCode.BarCodeRecognition
Assembly: Aspose.BarCode.dll (25.1.0)

BarCodeReader 封装了一个可能包含一个或多个条形码的图像,然后可以执行 ReadBarCodes 操作来检测条形码。

[XmlSerialization(Name = "Aspose.BarCode.Reader.Properties")]
public class BarCodeReader : IDisposable

继承

objectBarCodeReader

实现

IDisposable

继承成员

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

构造函数

BarCodeReader()

使用默认值初始化 Aspose.BarCode.BarCodeRecognition.BarCodeReader 类的新实例。 在调用 ReadBarCodes() 方法之前需要设置图像 (SetBitmapImage())。

public BarCodeReader()

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (BarCodeReader reader = new BarCodeReader())
{
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128);
    reader.SetBarCodeImage(@"c:\test.png");
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using reader As New BarCodeReader()
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128)
    reader.SetBarCodeImage("c:\test.png")
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

BarCodeReader(Bitmap)

public BarCodeReader(Bitmap image)

参数

image Bitmap

BarCodeReader(Bitmap, params BaseDecodeType[])

public BarCodeReader(Bitmap image, params BaseDecodeType[] decodeTypes)

参数

image Bitmap

decodeTypes BaseDecodeType[]

BarCodeReader(Bitmap, BaseDecodeType)

public BarCodeReader(Bitmap image, BaseDecodeType type)

参数

image Bitmap

type BaseDecodeType

BarCodeReader(Bitmap, Rectangle, params BaseDecodeType[])

public BarCodeReader(Bitmap image, Rectangle area, params BaseDecodeType[] decodeTypes)

参数

image Bitmap

area Rectangle

decodeTypes BaseDecodeType[]

BarCodeReader(Bitmap, Rectangle, BaseDecodeType)

public BarCodeReader(Bitmap image, Rectangle area, BaseDecodeType type)

参数

image Bitmap

area Rectangle

type BaseDecodeType

BarCodeReader(Bitmap, Rectangle[], params BaseDecodeType[])

public BarCodeReader(Bitmap image, Rectangle[] areas, params BaseDecodeType[] decodeTypes)

参数

image Bitmap

areas Rectangle[]

decodeTypes BaseDecodeType[]

BarCodeReader(Bitmap, Rectangle[], BaseDecodeType)

public BarCodeReader(Bitmap image, Rectangle[] areas, BaseDecodeType type)

参数

image Bitmap

areas Rectangle[]

type BaseDecodeType

BarCodeReader(string)

从文件初始化 Aspose.BarCode.BarCodeRecognition.BarCodeReader 类的新实例。

public BarCodeReader(string filename)

参数

filename string

文件名。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png"))
{
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128);
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using reader As New BarCodeReader("c:\test.png")
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128)
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

BarCodeReader(string, params BaseDecodeType[])

初始化 Aspose.BarCode.BarCodeRecognition.BarCodeReader 类的新实例。

public BarCodeReader(string filename, params BaseDecodeType[] decodeTypes)

参数

filename string

文件名。

decodeTypes BaseDecodeType[]

解码类型。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

BarCodeReader(string, BaseDecodeType)

初始化 Aspose.BarCode.BarCodeRecognition.BarCodeReader 类的新实例。

public BarCodeReader(string filename, BaseDecodeType type)

参数

filename string

文件名。

type BaseDecodeType

解码类型。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", new MultyDecodeType(DecodeType.Code39, DecodeType.Code128)))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using reader As New BarCodeReader("c:\test.png", New MultyDecodeType(DecodeType.Code39, DecodeType.Code128))
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

BarCodeReader(Stream)

初始化 Aspose.BarCode.BarCodeRecognition.BarCodeReader 类的新实例。

public BarCodeReader(Stream stream)

参数

stream Stream

流。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (FileStream fstr = new FileStream(@"c:\test.png", FileMode.Open))
using (BarCodeReader reader = new BarCodeReader(fstr))
{
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128);
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using fstr = New FileStream("c:\test.png", FileMode.Open)
    Using reader As New BarCodeReader(fstr)
        reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128)
        For Each result As BarCodeResult In reader.ReadBarCodes()
            Console.WriteLine("条形码类型: " + result.CodeTypeName)
            Console.WriteLine("条形码文本: " + result.CodeText)
        Next
    End Using
End Using

BarCodeReader(Stream, BaseDecodeType)

初始化 Aspose.BarCode.BarCodeRecognition.BarCodeReader 类的新实例。

public BarCodeReader(Stream stream, BaseDecodeType type)

参数

stream Stream

流。

type BaseDecodeType

解码类型。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (FileStream fstr = new FileStream(@"c:\test.png", FileMode.Open))
using (BarCodeReader reader = new BarCodeReader(fstr, new MultyDecodeType(DecodeType.Code39, DecodeType.Code128)))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using fstr = New FileStream("c:\test.png", FileMode.Open)
    Using reader As New BarCodeReader(fstr, New MultyDecodeType(DecodeType.Code39, DecodeType.Code128))
        For Each result As BarCodeResult In reader.ReadBarCodes()
            Console.WriteLine("条形码类型: " + result.CodeTypeName)
            Console.WriteLine("条形码文本: " + result.CodeText)
        Next
    End Using
End Using

BarCodeReader(Stream, params BaseDecodeType[])

初始化 Aspose.BarCode.BarCodeRecognition.BarCodeReader 类的新实例。

public BarCodeReader(Stream stream, params BaseDecodeType[] decodeTypes)

参数

stream Stream

流。

decodeTypes BaseDecodeType[]

解码类型。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (FileStream fstr = new FileStream(@"c:\test.png", FileMode.Open))
using (BarCodeReader reader = new BarCodeReader(fstr, DecodeType.Code39, DecodeType.Code128))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using fstr = New FileStream("c:\test.png", FileMode.Open)
    Using reader As New BarCodeReader(fstr, DecodeType.Code39, DecodeType.Code128)
        For Each result As BarCodeResult In reader.ReadBarCodes()
            Console.WriteLine("条形码类型: " + result.CodeTypeName)
            Console.WriteLine("条形码文本: " + result.CodeText)
        Next
    End Using
End Using

属性

BarcodeSettings

主要条形码解码参数。包含影响识别数据的参数。

[XmlSerialization(Type = XmlSerializationType.Element)]
public BarcodeSettings BarcodeSettings { get; }

属性值

BarcodeSettings

FoundBarCodes

获取已识别的 Aspose.BarCode.BarCodeRecognition.BarCodeResults 数组

public BarCodeResult[] FoundBarCodes { get; }

属性值

BarCodeResult[]

示例

此示例演示如何使用 BarCodeReader 读取条形码

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
    reader.ReadBarCodes();
    for(int i = 0; reader.FoundCount > i; ++i)
        Console.WriteLine("条形码文本: " + reader.FoundBarCodes[i].CodeText);
}
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
    reader.ReadBarCodes()
    For i As Integer = 0 To reader.FoundCount - 1 Step 1
        Console.WriteLine("条形码文本: " + reader.FoundBarCodes(i).CodeText)
    Next
End Using

FoundCount

获取已识别的条形码数量

public int FoundCount { get; }

属性值

int

示例

此示例演示如何使用 BarCodeReader 读取条形码

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
    reader.ReadBarCodes();
    for(int i = 0; reader.FoundCount > i; ++i)
        Console.WriteLine("条形码文本: " + reader.FoundBarCodes[i].CodeText);
}
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
    reader.ReadBarCodes()
    For i As Integer = 0 To reader.FoundCount - 1 Step 1
        Console.WriteLine("条形码文本: " + reader.FoundBarCodes(i).CodeText)
    Next
End Using

ProcessorSettings

获取使用处理器核心的设置。

public static ProcessorSettings ProcessorSettings { get; }

属性值

ProcessorSettings

示例

此示例演示如何使用 ProcessorSettings 添加最大多线程性能

//这允许在单个 BarCodeReader 调用中使用所有核心
BarCodeReader.ProcessorSettings.UseAllCores = true;
//这允许使用当前核心数量
BarCodeReader.ProcessorSettings.UseAllCores = false;
BarCodeReader.ProcessorSettings.UseOnlyThisCoresCount = Math.Max(1, Environment.ProcessorCount / 2);
'这允许在单个 BarCodeReader 调用中使用所有核心
BarCodeReader.ProcessorSettings.UseAllCores = True
'这允许使用当前核心数量
BarCodeReader.ProcessorSettings.UseAllCores = False
BarCodeReader.ProcessorSettings.UseOnlyThisCoresCount = Math.Max(1, Environment.ProcessorCount / 2)

QualitySettings

QualitySettings 允许手动配置识别质量和速度。 您可以通过嵌入的预设快速设置 QualitySettings:HighPerformance、NormalQuality、 HighQuality、MaxBarCodes,或者您可以手动配置单独的选项。 QualitySettings 的默认值为 NormalQuality。

[XmlSerialization(Type = XmlSerializationType.Element)]
public QualitySettings QualitySettings { get; set; }

属性值

QualitySettings

示例

此示例演示如何在 BarCodeReader 中使用 QualitySettings

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
   //设置高性能模式
   reader.QualitySettings = QualitySettings.HighPerformance;
   foreach (BarCodeResult result in reader.ReadBarCodes())
      Console.WriteLine("条形码文本: " + result.CodeText);
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
   //默认设置正常质量模式
   foreach (BarCodeResult result in reader.ReadBarCodes())
      Console.WriteLine("条形码文本: " + result.CodeText);
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
   //设置高性能模式
   reader.QualitySettings = QualitySettings.HighPerformance;
   //设置单独选项
   reader.QualitySettings.AllowMedianSmoothing = true;
   reader.QualitySettings.MedianSmoothingWindowSize = 5;
   foreach (BarCodeResult result in reader.ReadBarCodes())
      Console.WriteLine("条形码文本: " + result.CodeText);
}
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
    '设置高性能模式
    reader.QualitySettings = QualitySettings.HighPerformance
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
    Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
    '默认设置正常质量模式
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
    Next
End Using
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
   '设置高性能模式
   reader.QualitySettings = QualitySettings.HighPerformance
   '设置单独选项
   reader.QualitySettings.AllowMedianSmoothing = True
   reader.QualitySettings.MedianSmoothingWindowSize = 5
   For Each result As BarCodeResult In reader.ReadBarCodes()
       Console.WriteLine("条形码类型: " + result.CodeTypeName)
   Next
End Using

Timeout

获取或设置识别过程的超时时间(以毫秒为单位)。

[XmlSerialization(Type = XmlSerializationType.Element)]
public int Timeout { get; set; }

属性值

int

示例

此示例演示如何在大图像上避免识别挂起的超时

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png"))
{
    reader.Timeout = 5000;
    foreach (BarCodeResult result in reader.ReadBarCodes())
        Console.WriteLine("条形码文本: " + result.CodeText);
}
Using reader As New BarCodeReader("c:\test.png")
    reader.Timeout = 5000
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

方法

Abort()

请求从其他线程终止当前识别会话。Abort 是不可阻塞的方法,并在调用后立即返回控制权。 当识别过程过长时,应使用该方法。

public void Abort()

示例

此示例演示如何从其他线程调用 Abort 函数

private static void ThreadRecognize(object readerObj)
{
    BarCodeReader reader = (BarCodeReader)readerObj;
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeType);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}

BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128);
Thread thread1 = new Thread(ThreadRecognize);
thread1.Start(reader);
Thread.Sleep(100);
reader.Abort();
Private Shared Sub ThreadRecognize(readerObj As Object)
    Dim reader As BarCodeReader = readerObj
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Sub

Dim reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
Dim thread1 As New Thread(AddressOf ThreadRecognize)
thread1.Start(reader)
Thread.Sleep(100)
reader.Abort()

Dispose()

public void Dispose()

ExportToXml(string)

将条形码属性导出到指定的 xml 文件

public bool ExportToXml(string xmlFile)

参数

xmlFile string

文件名

返回

bool

导出是否成功。

成功时返回 True;否则返回 False

ExportToXml(Stream)

将条形码属性导出到指定的 xml 流

public bool ExportToXml(Stream xmlStream)

参数

xmlStream Stream

用于保存的 xml 流

返回

bool

导出是否成功。

成功时返回 True;否则返回 False

ImportFromXml(string)

从指定的 xml 文件导入条形码属性并将其应用于当前 BarCodeReader 实例。

public static BarCodeReader ImportFromXml(string xmlFile)

参数

xmlFile string

文件名

返回

BarCodeReader

成功时返回 True

否则返回 False

ImportFromXml(Stream)

从指定的 xml 流导入条形码属性并将其应用于当前 BarCodeReader 实例。

public static BarCodeReader ImportFromXml(Stream xmlStream)

参数

xmlStream Stream

用于加载的 xml 流

返回

BarCodeReader

成功时返回 True

否则返回 False

ReadBarCodes()

从图像中读取 Aspose.BarCode.BarCodeRecognition.BarCodeResults。

public BarCodeResult[] ReadBarCodes()

返回

BarCodeResult[]

返回图像上识别的 Aspose.BarCode.BarCodeRecognition.BarCodeResults 数组。如果没有识别到,返回零数组。

示例

此示例演示如何使用 BarCodeReader 读取条形码

using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
        Console.WriteLine("条形码文本: " + result.CodeText);
}
using (BarCodeReader reader = new BarCodeReader(@"c:\test.png", DecodeType.Code39, DecodeType.Code128))
{
    reader.ReadBarCodes();
    for(int i = 0; reader.FoundCount > i; ++i)
        Console.WriteLine("条形码文本: " + reader.FoundBarCodes[i].CodeText);
}
Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
    reader.ReadBarCodes()
    For i As Integer = 0 To reader.FoundCount - 1 Step 1
        Console.WriteLine("条形码文本: " + reader.FoundBarCodes(i).CodeText)
    Next
End Using

Using reader As New BarCodeReader("c:\test.png", DecodeType.Code39, DecodeType.Code128)
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

SetBarCodeImage(Bitmap)

public void SetBarCodeImage(Bitmap value)

参数

value Bitmap

SetBarCodeImage(Bitmap, Rectangle[])

public void SetBarCodeImage(Bitmap value, Rectangle[] areas)

参数

value Bitmap

areas Rectangle[]

SetBarCodeImage(Bitmap, Rectangle)

public void SetBarCodeImage(Bitmap value, Rectangle area)

参数

value Bitmap

area Rectangle

SetBarCodeImage(string)

设置用于识别的图像文件。 必须在调用 ReadBarCodes() 方法之前调用。

public void SetBarCodeImage(string filename)

参数

filename string

用于识别的图像文件。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (BarCodeReader reader = new BarCodeReader())
{
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128);
    reader.SetBarCodeImage(@"c:\test.png");
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using reader As New BarCodeReader()
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128)
    reader.SetBarCodeImage("c:\test.png")
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

SetBarCodeImage(Stream)

设置用于识别的图像流。 必须在调用 ReadBarCodes() 方法之前调用。

public void SetBarCodeImage(Stream stream)

参数

stream Stream

用于识别的图像流。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (FileStream fstr = new FileStream(@"c:\test.png", FileMode.Open))
using (BarCodeReader reader = new BarCodeReader())
{
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128);
    reader.SetBarCodeImage(fstr);
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using fstr = New FileStream("c:\test.png", FileMode.Open)
    Using reader As New BarCodeReader()
        reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128)
        reader.SetBarCodeImage(fstr)
        For Each result As BarCodeResult In reader.ReadBarCodes()
            Console.WriteLine("条形码类型: " + result.CodeTypeName)
            Console.WriteLine("条形码文本: " + result.CodeText)
        Next
    End Using
End Using

SetBarCodeReadType(params SingleDecodeType[])

设置 Aspose.BarCode.BarCodeRecognition.SingleDecodeType 类型数组用于识别。 必须在调用 ReadBarCodes() 方法之前调用。

public void SetBarCodeReadType(params SingleDecodeType[] barcodeTypes)

参数

barcodeTypes SingleDecodeType[]

要读取的 Aspose.BarCode.BarCodeRecognition.SingleDecodeType 类型数组。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (BarCodeReader reader = new BarCodeReader())
{
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128);
    reader.SetBarCodeImage(@"c:\test.png");
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using reader As New BarCodeReader()
    reader.SetBarCodeReadType(DecodeType.Code39, DecodeType.Code128)
    reader.SetBarCodeImage("c:\test.png")
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using

SetBarCodeReadType(BaseDecodeType)

设置解码类型用于识别。 必须在调用 ReadBarCodes() 方法之前调用。

[XmlSerialization(Name = "BarCodeReadType")]
public void SetBarCodeReadType(BaseDecodeType type)

参数

type BaseDecodeType

要读取的条形码类型。

示例

此示例演示如何检测 Code39 和 Code128 条形码。

using (BarCodeReader reader = new BarCodeReader())
{
    reader.SetBarCodeReadType(new MultyDecodeType(DecodeType.Code39, DecodeType.Code128));
    reader.SetBarCodeImage(@"c:\test.png");
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("条形码类型: " + result.CodeTypeName);
        Console.WriteLine("条形码文本: " + result.CodeText);
    }
}
Using reader As New BarCodeReader()
    reader.SetBarCodeReadType(New MultyDecodeType(DecodeType.Code39, DecodeType.Code128))
    reader.SetBarCodeImage("c:\test.png")
    For Each result As BarCodeResult In reader.ReadBarCodes()
        Console.WriteLine("条形码类型: " + result.CodeTypeName)
        Console.WriteLine("条形码文本: " + result.CodeText)
    Next
End Using
 中文