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

フレームを表示

ReadBarcode(RasterImage、LeadRect、BarcodeSymbology[]、IBarcodeReadOptions[])メソッド








画像データを格納するRasterImageオブジェクト。NULLを指定することはできません
バーコードの検索と検出を行う画像領域を指定するLeadRect。空の長方形を指定すると、画像全体が検索されます。
検索するバーコード体系(タイプ)を指定するBarcodeSymbology列挙体メンバの配列。
使うオプションを指定するIBarcodeReadOptionsの配列。これはnullでありえます、流れがオプションを履行しないところが使われます。null以外を指定すると、読み取られるバーコード体系に対応するオプションが使用されます。読み取られるバーコード体系に対応する明示的なオプションが配列に含まれていない場合は、デフォルトのバージョンが使用されます。

このメソッドに関する詳細は、ReadBarcodeを参照してください。

構文
'Declaration
 
Public Overloads Function ReadBarcode( _
   ByVal image As RasterImage, _
   ByVal searchBounds As LeadRect, _
   ByVal symbologies() As BarcodeSymbology, _
   ByVal options() As IBarcodeReadOptions _
) As BarcodeData
'Usage
 
Dim instance As BarcodeReader
Dim image As RasterImage
Dim searchBounds As LeadRect
Dim symbologies() As BarcodeSymbology
Dim options() As IBarcodeReadOptions
Dim value As BarcodeData
 
value = instance.ReadBarcode(image, searchBounds, symbologies, options)
 function Leadtools.Barcode.BarcodeReader.ReadBarcode(RasterImage,LeadRect,BarcodeSymbology[],IBarcodeReadOptions[])( 
   image ,
   searchBounds ,
   symbologies ,
   options 
)

パラメーター

image
画像データを格納するRasterImageオブジェクト。NULLを指定することはできません
searchBounds
バーコードの検索と検出を行う画像領域を指定するLeadRect。空の長方形を指定すると、画像全体が検索されます。
バーコード体系
検索するバーコード体系(タイプ)を指定するBarcodeSymbology列挙体メンバの配列。
オプション
使うオプションを指定するIBarcodeReadOptionsの配列。これはnullでありえます、流れがオプションを履行しないところが使われます。null以外を指定すると、読み取られるバーコード体系に対応するオプションが使用されます。読み取られるバーコード体系に対応する明示的なオプションが配列に含まれていない場合は、デフォルトのバージョンが使用されます。

戻り値

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

注意:LEADTOOLS for .NETでは、LeadRectLogicalRectangleに相当し、IBarcodeReadOptionsBarcodeReadOptionsに相当します。

サンプル

このサンプルは、回転画像から製品を識別するのに用いられる任意のUPCバーコードを読むためにこのメソッドを使う方法を示します。

Copy Code  
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;

      
public async Task BarcodeReader_ReadBarcodeExample4()
{
   string imageFileName = @"Assets\Barcode1.tif";
   // Create a Barcode engine
   BarcodeEngine engine = new BarcodeEngine();

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

   using(RasterCodecs codecs = new RasterCodecs())
   {
      StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(imageFileName);
      using(RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)))
      {
         // Rotate the image by 90, so default option of reading horizonal barcodes will not work
         Debug.WriteLine("Rotating the image by 90 degrees");
         RotateCommand rotate = new RotateCommand(90 * 100, RotateCommandFlags.Resize, RasterColorHelper.FromKnownColor(RasterKnownColor.White));
         rotate.Run(image);

         // In the US, UPC barcodes are used to identity products. So, create an array of UPC symbologies
         BarcodeSymbology[] upcSymbologies =
         {
            BarcodeSymbology.UPCA,
            BarcodeSymbology.UPCE
         };

         // Read the first UPC barcode from the image using default options
         Debug.WriteLine("Reading barcodes using default options");
         BarcodeData barcode = reader.ReadBarcode(image, LeadRectHelper.Empty, upcSymbologies, null);

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

         // Now get the options we used previously, and change the 1D linear barcode read options
         // to search for barcodes in both horizontal and vertical directions
         // Note: Same options are used for UPCA and UPCE, so we only need one options class
         OneDBarcodeReadOptions oneDReadOptions = reader.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeReadOptions;

         // Change the read direction
         oneDReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;

         // Try again using our options
         Debug.WriteLine("Reading barcodes using our options");
         barcode = reader.ReadBarcode(image, LeadRectHelper.Empty, upcSymbologies, new IBarcodeReadOptions[] { oneDReadOptions });

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

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

参照

参照

BarcodeReaderクラス
BarcodeReaderメンバ
オーバーロードリスト

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