LEADTOOLSバーコード(Leadtools.Barcodeアセンブリ)

フレームを表示

ReadBarcode(RasterImage、LogicalRectangle、BarcodeSymbology、BarcodeReadOptions)メソッド








画像データを格納するRasterImageオブジェクト。nullVisual BasicではNothing)であってはいけません。
バーコードの検索と検出を行う画像領域を指定するLogicalRectangleLogicalRectangle.Emptyを指定すると、画像全体が検索されます。
検索するバーコードバーコード体系(型)を指定するBarcodeSymbology列挙体メンバ。このBarcodeReaderですべての利用できるバーコード体系を検索するために、BarcodeSymbology.Unknownを渡すことができます。
使用するオプションを指定するBarcodeReadOptions派生クラスのインスタンス。
指定されたシンボルとオプションでimageから1つのバーコードを読みます。
構文
'Declaration
 
Public Overloads Function ReadBarcode( _
   ByVal image As RasterImage, _
   ByVal searchBounds As LogicalRectangle, _
   ByVal symbology As BarcodeSymbology, _
   ByVal options As BarcodeReadOptions _
) As BarcodeData
'Usage
 
Dim instance As BarcodeReader
Dim image As RasterImage
Dim searchBounds As LogicalRectangle
Dim symbology As BarcodeSymbology
Dim options As BarcodeReadOptions
Dim value As BarcodeData
 
value = instance.ReadBarcode(image, searchBounds, symbology, options)
- (nullable LTBarcodeData *)readBarcode:(LTRasterImage *)image
                           searchBounds:(LeadRect)searchBounds
                              symbology:(LTBarcodeSymbology)symbology
                                options:(nullable LTBarcodeReadOptions *)options
                                  error:(NSError **)error
            
public BarcodeData readBarcode(
  RasterImage image, 
  LeadRect searchBounds, 
  BarcodeSymbology symbology, 
  BarcodeReadOptions options
)
            
 function Leadtools.Barcode.BarcodeReader.ReadBarcode(RasterImage,LogicalRectangle,BarcodeSymbology,BarcodeReadOptions)( 
   image ,
   searchBounds ,
   symbology ,
   options 
)

パラメーター

image
画像データを格納するRasterImageオブジェクト。nullVisual BasicではNothing)であってはいけません。
searchBounds
バーコードの検索と検出を行う画像領域を指定するLogicalRectangleLogicalRectangle.Emptyを指定すると、画像全体が検索されます。
シンボル
検索するバーコードバーコード体系(型)を指定するBarcodeSymbology列挙体メンバ。このBarcodeReaderですべての利用できるバーコード体系を検索するために、BarcodeSymbology.Unknownを渡すことができます。
オプション
使用するオプションを指定するBarcodeReadOptions派生クラスのインスタンス。

戻り値

BarcodeDataのインスタンスまたは見つけられるバーコードのシンボル、データ、場所と任意の回転角を格納するその派生クラスの1つ。バーコードが見つからないならば、このメソッドはnullVisual BasicではNothing)を返します。
解説

これらのメソッドは、画像から1つのバーコードを読み取る場合(たとえばBarcodeSymbology.QRを指定してQRシンボルを読み取るなど)や、BarcodeSymbology.Unknown。を使用してその種類にかかわらず見つかった任意のバーコードを読み取る場合に使用します。

バーコード読み取りに関する詳細は、「BarcodeReader」を参照してください。

このメソッドは、シンボルに対応するこのBarcodeReaderに設定されるデフォルトの読み取りオプションを使用します。このパラメーターの値がBarcodeSymbology.Unknownである場合、すべてのデフォルトの読み取りオプションを使用します。

LEADTOOLSバーコード読み取りエンジンは速度の点で最適化されており、複数の類似したバーコード体系を同時に検索できます。このメソッドは単に、バーコード体系と現在のオプションを使用して正しく検出された最初のバーコードを返します。

このメソッドは、バーコードを読むとき、オプションでオプションを使います。このパラメーターがnullVisual BasicではNothing)の場合は、バーコード体系のデフォルトオプション(BarcodeSymbology.Unknownが指定されている場合はすべてのデフォルトのオプション)が代わりに使用されます。

オプションがnull(Visual BasicではNothing)でなくバーコード体系がBarcodeSymbology.Unknownでない場合、バーコード体系をサポートするBarcodeReadOptionsの派生クラスを指定する必要があります。

LEADTOOLSバーコード読み取りエンジンは速度の点で最適化されており、複数の類似したバーコード体系を同時に検索できます。このメソッドは単に、バーコード体系と現在のオプションを使用して正しく検出された最初のバーコードを返します。

ReadSymbologyイベントは、任意のバーコード体系を読み取る前と読み取った後に発生します。読み取りオプションには、デフォルトオプションが使用されるか、イベントデータのBarcodeReadSymbologyEventArgs.Optionsプロパティに設定されたオプションが使用されます。

BarcodeReaderは、以下のバーコード読まれたメソッドを提供します:

メソッド 説明
ReadBarcode(RasterImage image、LogicalRectangle searchBounds、BarcodeSymbologyシンボル)ReadBarcode(RasterImage image、LogicalRectangle searchBounds、BarcodeSymbologyシンボル、BarcodeReadOptionsオプション)

指定したバーコード体系と、デフォルトまたは明示的なオプションを使用して、画像から1つのバーコードを読み取ります。これらのメソッドは、画像から1つのバーコードを読み取る場合(たとえばBarcodeSymbology.QRを指定してQRシンボルを読み取るなど)や、BarcodeSymbology.Unknown。を使用してその種類にかかわらず見つかった任意のバーコードを読み取る場合に使用します。

ReadBarcode(RasterImage image、LogicalRectangle searchBounds、BarcodeSymbology[]バーコード体系)ReadBarcode(RasterImage image、LogicalRectangle searchBounds、BarcodeSymbology[]バーコード体系、BarcodeReadOptions[]オプション)

指定したグループに含まれるバーコード体系とデフォルトまたは明示的なオプションを使用して、画像から1つのバーコードを読み取ります。このメソッドは、既知のグループに含まれる1つのバーコードを読み取る場合に使用します。たとえば、いずれかのUPC型となることができるバーコードを読み取るには、BarcodeSymbology.UPCABarcodeSymbology.UPCE。の配列を渡します。

ReadBarcodes(RasterImage image、LogicalRectangle searchBounds、int maximumBarcodes、BarcodeSymbology[]バーコード体系)ReadBarcodes(RasterImage image、LogicalRectangle searchBounds、int maximumBarcodes、BarcodeSymbology[]バーコード体系、BarcodeReadOptions[]オプション)

指定したグループに含まれるバーコード体系とデフォルトまたは明示的なオプションを使用して、画像から複数のバーコードを読み取ります。これらのメソッドは、同じバーコード体系または複数のバーコード体系のバーコードを複数読み取る場合に使用します。

サンプル

以下のサンプルは、このメソッドに明示的なオプションを指定して、反転した画像から1つのバーコードを読み取る方法を示します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms
Imports Leadtools.Barcode
Imports Leadtools.ImageProcessing

      
Public Sub BarcodeReader_ReadBarcodeExample2()
   Dim imageFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif")
   ' Create a Barcode engine
   Dim engine As New BarcodeEngine()

   ' Get the Barcode reader instance
   Dim reader As BarcodeReader = engine.Reader

   Using codecs As New RasterCodecs()
      Using image As RasterImage = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
         ' Invert the image
         Console.WriteLine("Inverting the image")
         Dim invert As New Leadtools.ImageProcessing.Color.InvertCommand()
         invert.Run(image)

         ' All barcodes have default options of black foreground color and white background color, so
         ' reading the barcode with default options should not return any barcodes right now

         ' Read the QR barcode from this image using default options
         Console.WriteLine("Reading using default options")
         Dim barcode As BarcodeData = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR, Nothing)

         ' Show its location and data if found
         ' This will print out "Not found"
         If Not IsNothing(barcode) Then
            Console.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value)
         Else
            Console.WriteLine("Not found")
         End If

         ' Now create QR read options to have white foreground color and black background color
         Dim qrReadOptions As New QRBarcodeReadOptions()
         qrReadOptions.ForeColor = RasterColor.FromKnownColor(RasterKnownColor.White)
         qrReadOptions.BackColor = RasterColor.FromKnownColor(RasterKnownColor.Black)

         ' And use it to try to read the QR barcode again
         Console.WriteLine("Reading using specific options that instruct the engine to look for white on black barcodes")
         barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR, qrReadOptions)

         ' Show its location and data if found
         ' This will find the barcode and print its information now
         If Not IsNothing(barcode) Then
            Console.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value)
         Else
            Console.WriteLine("Not found")
         End If
      End Using
   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 BarcodeReader_ReadBarcodeExample2()
{
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Barcode2.tif");
   // Create a Barcode engine
   BarcodeEngine engine = new BarcodeEngine();

   // Get the Barcode reader instance
   BarcodeReader reader = engine.Reader;

   using(RasterCodecs codecs = new RasterCodecs())
   {
      using(RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
      {
         // Invert the image
         Console.WriteLine("Inverting the image");
         Leadtools.ImageProcessing.Color.InvertCommand invert = new Leadtools.ImageProcessing.Color.InvertCommand();
         invert.Run(image);

         // All barcodes have default options of black foreground color and white background color, so
         // reading the barcode with default options should not return any barcodes right now

         // Read the QR barcode from this image using default options
         Console.WriteLine("Reading using default options");
         BarcodeData barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR, null);

         // Show its location and data if found
         // This will print out "Not found"
         if(barcode != null)
         {
            Console.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value);
         }
         else
         {
            Console.WriteLine("Not found");
         }

         // Now create QR read options to have white foreground color and black background color
         QRBarcodeReadOptions qrReadOptions = new QRBarcodeReadOptions();
         qrReadOptions.ForeColor = RasterColor.FromKnownColor(RasterKnownColor.White);
         qrReadOptions.BackColor = RasterColor.FromKnownColor(RasterKnownColor.Black);

         // And use it to try to read the QR barcode again
         Console.WriteLine("Reading using specific options that instruct the engine to look for white on black barcodes");
         barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR, qrReadOptions);

         // Show its location and data if found
         // This will find the barcode and print its information now
         if(barcode != null)
         {
            Console.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value);
         }
         else
         {
            Console.WriteLine("Not found");
         }
      }
   }
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;
using Leadtools.Examples;

public void BarcodeReader_ReadBarcodeExample2(RasterImage image)
{
   // Create a Barcode engine
   BarcodeEngine engine = new BarcodeEngine();
   // Get the Barcode reader instance
   BarcodeReader reader = engine.Reader;

   RasterCodecs codecs = new RasterCodecs();

   // Invert the image
   Console.WriteLine("Inverting the image");
   Leadtools.ImageProcessing.Color.InvertCommand invert = new Leadtools.ImageProcessing.Color.InvertCommand();
   invert.Run(image);

   // All barcodes have default options of black foreground color and white background color, so
   // reading the barcode with default options should not return any barcodes right now

   // Read the QR barcode from this image using default options
   Console.WriteLine("Reading using default options");
   BarcodeData barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR, null);

   // Show its location and data if found
   // This will print out "Not found"
   if(barcode != null)
   {
      Console.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value);
   }
   else
   {
      Console.WriteLine("Not found");
   }

   // Now create QR read options to have white foreground color and black background color
   QRBarcodeReadOptions qrReadOptions = new QRBarcodeReadOptions();
   qrReadOptions.ForeColor = RasterColor.FromKnownColor(RasterKnownColor.White);
   qrReadOptions.BackColor = RasterColor.FromKnownColor(RasterKnownColor.Black);

   // And use it to try to read the QR barcode again
   Console.WriteLine("Reading using specific options that instruct the engine to look for white on black barcodes");
   barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR, qrReadOptions);

   // Show its location and data if found
   // This will find the barcode and print its information now
   if(barcode != null)
   {
      Console.WriteLine("Found at {0}, data:\n{1}", barcode.Bounds, barcode.Value);
   }
   else
   {
      Console.WriteLine("Not found");
   }
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms
Imports Leadtools.Barcode
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color

Public Sub BarcodeReader_ReadBarcodeExample2(ByVal image As RasterImage)
   ' Create a Barcode engine
   Dim engine As BarcodeEngine = New BarcodeEngine()
   ' Get the Barcode reader instance
   Dim reader As BarcodeReader = engine.Reader

   Dim codecs As RasterCodecs = New RasterCodecs()

   ' Invert the image
   Console.WriteLine("Inverting the image")
   Dim invert As InvertCommand = New InvertCommand()
   invert.Run(image)

   ' All barcodes have default options of black foreground color and white background color, so
   ' reading the barcode with default options should not return any barcodes right now

   ' Read the QR barcode from this image using default options
   Console.WriteLine("Reading using default options")
   Dim barcode As BarcodeData = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR, Nothing)

   ' Show its location and data if found
   ' This will print out "Not found"
   If Not barcode Is Nothing Then
      Console.WriteLine("Found at {0}, data:" & Constants.vbLf & "{1}", barcode.Bounds, barcode.Value)
   Else
      Console.WriteLine("Not found")
   End If

   ' Now create QR read options to have white foreground color and black background color
   Dim qrReadOptions As QRBarcodeReadOptions = New QRBarcodeReadOptions()
   qrReadOptions.ForeColor = RasterColor.FromKnownColor(RasterKnownColor.White)
   qrReadOptions.BackColor = RasterColor.FromKnownColor(RasterKnownColor.Black)

   ' And use it to try to read the QR barcode again
   Console.WriteLine("Reading using specific options that instruct the engine to look for white on black barcodes")
   barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.QR, qrReadOptions)

   ' Show its location and data if found
   ' This will find the barcode and print its information now
   If Not barcode Is Nothing Then
      Console.WriteLine("Found at {0}, data:" & Constants.vbLf & "{1}", barcode.Bounds, barcode.Value)
   Else
      Console.WriteLine("Not found")
   End If
End Sub
必要条件

ターゲットプラットホーム

参照

参照

BarcodeReaderクラス
BarcodeReaderメンバ
オーバーロードリスト
ReadBarcode(RasterImage image、LogicalRectangle searchBounds、BarcodeSymbologyシンボル)
ReadBarcode(RasterImage image、LogicalRectangle searchBounds、BarcodeSymbology[]バーコード体系)
ReadBarcode(RasterImage image、LogicalRectangle searchBounds、BarcodeSymbology[]バーコード体系、BarcodeReadOptions[]オプション)
ReadBarcodes(RasterImage image、LogicalRectangle searchBounds、int maximumBarcodes、BarcodeSymbology[]バーコード体系)
ReadBarcodes(RasterImage image、LogicalRectangle searchBounds、int maximumBarcodes、BarcodeSymbology[]バーコード体系、BarcodeReadOptions[]オプション)
LEADTOOLSバーコードによるプログラミング
サポートされているバーコード体系
バーコードサポートのロック解除
読み取りバーコードチュートリアル

Leadtools.Barcodeは、バーコードモジュールのライセンスと、解除キーが必要です。詳細は、以下を参照してください。LEADTOOLSツールキット機能