Leadtools.Barcode名前空間 :BarcodeEngineクラス |
public class BarcodeEngine
'Declaration
Public Class BarcodeEngine
'Usage
Dim instance As BarcodeEngine
public sealed class BarcodeEngine
@interface LTBarcodeEngine : NSObject
public class BarcodeEngine
function Leadtools.Barcode.BarcodeEngine()
public ref class BarcodeEngine
BarcodeEngineクラスは、読み書きしているバーコードのLEADTOOLSサポートのための主入口点です。
このクラスは、以下のメンバを格納します:
BarcodeEngine.Reader:imageからバーコードを読むために使用することができるBarcodeReaderクラスのインスタンス。
BarcodeEngine.Writer:バーコードをimageへ書き込むために使用することができるBarcodeWriterクラスのインスタンス。
このクラスは、以下のヘルパー静的なメソッド(Visual Basicで共有される)も格納します:
BarcodeEngine.GetSupportedSymbologies:LEADTOOLSによってサポートされるすべてのバーコード体系をリストするBarcodeSymbology列挙体メンバの配列を返します。
BarcodeEngine.GetSymbologyFriendlyName:任意のBarcodeSymbology列挙体メンバのフレンドリー名を格納するstringを返します。
LEADTOOLSバーコードサポートの利用を開始するには、まずBarcodeEngineのインスタンスを作成してください。これにより、BarcodeReaderオブジェクトとBarcodeWriterオブジェクトが自動的に作成されます。次に、BarcodeEngine.ReaderおよびBarcodeEngine.Writerからこれらのオブジェクトにアクセスし、バーコードの読み取りまたは書き込みを開始します。
これらのオブジェクトはすべてスレッドセーフであり、同じBarcodeEngineオブジェクト、BarcodeReaderオブジェクト、またはBarcodeWriterオブジェクトを複数のスレッドに渡すことができます。また、異なる画像に対して同時にバーコードの読み取り/書き込みを行ったり、必要に応じてスレッドごとに異なるBarcodeEngineを作成したりすることもできます。BarcodeReader.ReadBarcodes(RasterImage image、LogicalRectangle searchBounds、int maximumBarcodes、BarcodeSymbology[]バーコード体系、BarcodeReadOptions[]オプション)サンプルは、2つのスレッドを作成する方法を示します:水平バーコードを読み取るためのスレッドと垂直バーコードを読み取るためのスレッド。同じBarcodeReaderを使用して両方のスレッドで画像からすべてのバーコードを読み取ります。
LEADTOOLSによってサポートされるバーコード体系のリストについては、バーコード体系のサポートを参照します。
LEADTOOLSバーコードサポートを使うことのチュートリアルのために、レディングバーコードチュートリアルとバーコードの書き込みチュートリアルを参照します。
このサンプルは新しいBarcodeEngineを作成して、imageですべてのバーコードを読みます。バーコードの書き込みに関するサンプルについては、「BarcodeWriter」を参照してください。
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Forms Imports Leadtools.Barcode Imports Leadtools.ImageProcessing Public Sub BarcodeEngine_Example() Dim imageFileNames() As String = _ { _ Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif"), _ Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif") _ } ' Create a Barcode engine Dim engine As New BarcodeEngine() ' Load the image Using codecs As New RasterCodecs() For Each imageFileName As String In imageFileNames Using image As RasterImage = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1) ' Read all the barcodes in this image Dim barcodes() As BarcodeData = engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, Nothing) ' Print out the barcodes we found Console.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length) For i As Integer = 0 To barcodes.Length - 1 Dim barcode As BarcodeData = barcodes(i) Console.WriteLine(" {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value) Next Console.WriteLine("-----------------") End Using Next End Using End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.Forms; using Leadtools.Barcode; using Leadtools.ImageProcessing; public void BarcodeEngine_Example() { string[] imageFileNames = { Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif"), Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif") }; // Create a Barcode engine BarcodeEngine engine = new BarcodeEngine(); // Load the image using(RasterCodecs codecs = new RasterCodecs()) { foreach(string imageFileName in imageFileNames) { using(RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) { // Read all the barcodes in this image BarcodeData[] barcodes = engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, null); // Print out the barcodes we found Console.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length); for(int i = 0; i < barcodes.Length; i++) { BarcodeData barcode = barcodes[i]; Console.WriteLine(" {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value); } Console.WriteLine("-----------------"); } } } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
using Leadtools; using Leadtools.Codecs; using Leadtools.Barcode; using Leadtools.ImageProcessing; public async Task BarcodeEngine_Example() { string[] imageFileNames = { @"Assets\Barcode1.tif", @"Assets\Barcode2.tif" }; // Create a Barcode engine BarcodeEngine engine = new BarcodeEngine(); // Load the image using(RasterCodecs codecs = new RasterCodecs()) { foreach(string imageFileName in imageFileNames) { StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(imageFileName); using(RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile))) { // Read all the barcodes in this image BarcodeData[] barcodes = engine.Reader.ReadBarcodes(image, LeadRectHelper.Empty, 0, null); if (barcodes == null) { Debug.WriteLine("No barcodes found"); return; } // Print out the barcodes we found Debug.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length); for(int i = 0; i < barcodes.Length; i++) { BarcodeData barcode = barcodes[i]; Debug.WriteLine(" {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value); } Debug.WriteLine("-----------------"); } } } }
using Leadtools; using Leadtools.Codecs; using Leadtools.Forms; using Leadtools.Barcode; using Leadtools.ImageProcessing; using Leadtools.Examples; public void BarcodeEngine_Example(RasterImage image, string imageFileName) { // Create a Barcode engine BarcodeEngine engine = new BarcodeEngine(); // Load the image RasterCodecs codecs = new RasterCodecs(); // Read all the barcodes in this image BarcodeData[] barcodes = engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, null); // Print out the barcodes we found Console.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length); for(int i = 0; i < barcodes.Length; i++) { BarcodeData barcode = barcodes[i]; Console.WriteLine(" {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value); } Console.WriteLine("-----------------"); }
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Forms Imports Leadtools.Barcode Imports Leadtools.ImageProcessing Public Sub BarcodeEngine_Example(ByVal image As RasterImage, ByVal imageFileName As String) ' Create a Barcode engine Dim engine As BarcodeEngine = New BarcodeEngine() ' Load the image Dim codecs As RasterCodecs = New RasterCodecs() ' Read all the barcodes in this image Dim barcodes As BarcodeData() = engine.Reader.ReadBarcodes(image, LogicalRectangle.Empty, 0, Nothing) ' Print out the barcodes we found Console.WriteLine("{0} contains {1} barcodes", imageFileName, barcodes.Length) Dim i As Integer = 0 Do While i < barcodes.Length Dim barcode As BarcodeData = barcodes(i) Console.WriteLine(" {0} - {1} - {2}", i + 1, barcode.Symbology, barcode.Value) i += 1 Loop Console.WriteLine("-----------------") End Sub
BarcodeEngineメンバ
Leadtools.Barcode名前空間
BarcodeReaderクラス
BarcodeWriterクラス
BarcodeSymbology列挙体
BarcodeDataクラス
BarcodeReader.ReadBarcode
BarcodeReader.ReadBarcodes
BarcodeWriter.WriteBarcode
LEADTOOLSバーコードによるプログラミング
サポートされているバーコード体系
バーコードサポートのロック解除
読み取りバーコードチュートリアル
バーコードの書き込みチュートリアル
LEADTOOLSのUPC/EANバーコード
LEADTOOLSの2 of 5バーコード
LEADTOOLSのGS1 DataBar/RSS-14バーコード
LEADTOOLSのCODE128バーコード
LEADTOOLSのUSPSと4-状態バーコード
LEADTOOLSのMSIバーコード(パルス幅変調)
LEADTOOLSのCodabarバーコード
LEADTOOLSのその他のバーコード
LEADTOOLSのDatamatrixバーコード
LEADTOOLSのPDF417とMicroPDF417バーコード
LEADTOOLSのMicroPDF417バーコード
LEADTOOLSのQRバーコード
バーコードの書き込み―四角形とXModule