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

フレームを表示

GetDefaultOptionsメソッド(BarcodeReader)








そのオプションを取得するためにバーコードバーコード体系(または型)を指定するBarcodeSymbology列挙体メンバ。
指定されたシンボルについてのデフォルトの読み取りオプションを取得します。
構文
public BarcodeReadOptions GetDefaultOptions( 
   BarcodeSymbology symbology
)
'Declaration
 
Public Function GetDefaultOptions( _
   ByVal symbology As BarcodeSymbology _
) As BarcodeReadOptions
'Usage
 
Dim instance As BarcodeReader
Dim symbology As BarcodeSymbology
Dim value As BarcodeReadOptions
 
value = instance.GetDefaultOptions(symbology)
public BarcodeReadOptions GetDefaultOptions( 
   BarcodeSymbology symbology
)
- (LTBarcodeReadOptions *)defaultOptionsForSymbology:(LTBarcodeSymbology)symbology
public BarcodeReadOptions getDefaultOptions(BarcodeSymbology symbology)
 function Leadtools.Barcode.BarcodeReader.GetDefaultOptions( 
   symbology 
)
public:
BarcodeReadOptions^ GetDefaultOptions( 
   BarcodeSymbology symbology
) 

パラメーター

シンボル
そのオプションを取得するためにバーコードバーコード体系(または型)を指定するBarcodeSymbology列挙体メンバ。

戻り値

シンボルで指定した型のバーコードを読み取るときにこのBarcodeReaderによってデフォルト読み取りオプションとして使用されるBarcodeReadOptions派生オブジェクト。
解説

バーコードの読み取り時に使用する追加オプションも用意されています。これらのオプションは、パラメーターを微調整する場合や、特定の種類のバーコードに固有の既知の追加情報を提供する場合に使用します。これらのオプションの抽象基本クラスはBarcodeReadOptionsです。LEADTOOLSは、派生クラスを各々のシンボル(またはバーコード体系のグループ)に提供します。詳細については、「BarcodeReadOptions」を参照してください。

BarcodeReaderクラスには、各バーコード体系(または共通バーコード体系のグループ)のデフォルトオプションが含まれます。これらのオプションを取得するには、対象のバーコード体系を渡してGetDefaultOptionsメソッドを呼び出します。その後で、返されたBarcodeReadOptionsのメンバを変更できます(または、適切な派生クラスにキャストしてからそのメンバを変更します)。特定のオプション(パラメーターとしてオプションをとらないメソッドのバージョンを用いたどちらによっても、オプションパラメーター配列が読まれたバーコードと関係しているオプションクラスを格納しないならば、パラメーターとして、または、最後にオプションを受け取るバージョンのために、オプションパラメーターのためにnullまたは何も渡しません)なしでユーザーがReadBarcodeReadBarcodesメソッドを呼び出すとき、これらのデフォルトオプションはBarcodeReaderにより用いられるでしょう。

また、いずれかの派生BarcodeReadOptionsクラスのインスタンスを作成し、オプションをパラメーターとして受け取るReadBarcodeメソッドおよびReadBarcodesメソッドでそのインスタンスを直接使用することもできます。

BarcodeSymbology.Unknownは、すべてのバーコードを読むためにエンジンを指示するのに用いられる特別な型です。BarcodeSymbology.Unknownには読み取りオプションクラスは関連付けられていないため、このメソッドでは使用しないでください。そうすると、例外がスローされます。

サンプル

以下のサンプルは、標準的な1次元1Dバーコード(UPC-A、UPC-E、等)の読み取り時に使用されるデフォルトオプションを取得し、それらを変更してからバーコードを読み取る方法を示します。

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

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

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

   ' Load the image
   Using codecs As New RasterCodecs()
      Using image As RasterImage = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
         ' Rotate the image by 90, so default option of reading horizonal barcodes will not work
         Console.WriteLine("Rotating the image by 90 degrees")
         Dim rotate As New RotateCommand(90 * 100, RotateCommandFlags.Resize, RasterColor.FromKnownColor(RasterKnownColor.White))
         rotate.Run(image)

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

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

         ' Now set the default options for reading 1D barcodes to search for vertical barcodes and try again
         Dim oneDReadOptions As OneDBarcodeReadOptions = DirectCast(reader.GetDefaultOptions(BarcodeSymbology.UPCA), OneDBarcodeReadOptions)
         oneDReadOptions.SearchDirection = BarcodeSearchDirection.Vertical

         ' Read again
         Console.WriteLine("Reading barcodes using new options")
         barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.UPCA)

         ' 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 a {0} barcode at {1}, data:\n{2}", barcode.Symbology, 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_GetDefaultOptionsExample()
{
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif");
   // Create a Barcode engine
   BarcodeEngine engine = new BarcodeEngine();

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

   // Load the image
   using(RasterCodecs codecs = new RasterCodecs())
   {
      using(RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
      {
         // Rotate the image by 90, so default option of reading horizonal barcodes will not work
         Console.WriteLine("Rotating the image by 90 degrees");
         RotateCommand rotate = new RotateCommand(90 * 100, RotateCommandFlags.Resize, RasterColor.FromKnownColor(RasterKnownColor.White));
         rotate.Run(image);

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

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

         // Now set the default options for reading 1D barcodes to search for vertical barcodes and try again
         OneDBarcodeReadOptions oneDReadOptions = reader.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeReadOptions;
         oneDReadOptions.SearchDirection = BarcodeSearchDirection.Vertical;

         // Read again
         Console.WriteLine("Reading barcodes using new options");
         barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.UPCA);

         // Show its location and data if found
         // This will find the barcode and print its information now
         if(barcode != null)
         {
            Console.WriteLine("Found a {0} barcode at {1}, data:\n{2}", barcode.Symbology, 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.Barcode;
using Leadtools.ImageProcessing;

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

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

   // Load the image
   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);

         // Read a UPCA barcode from the image using default options
         Debug.WriteLine("Reading barcodes using default options");
         BarcodeData barcode = reader.ReadBarcode(image, LeadRectHelper.Empty, BarcodeSymbology.UPCA);

         // 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 set the default options for reading 1D barcodes to search for vertical barcodes and try again
         OneDBarcodeReadOptions oneDReadOptions = reader.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeReadOptions;
         oneDReadOptions.SearchDirection = BarcodeSearchDirection.Vertical;

         // Read again
         Debug.WriteLine("Reading barcodes using new options");
         barcode = reader.ReadBarcode(image, LeadRectHelper.Empty, BarcodeSymbology.UPCA);

         // 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");
         }
      }
   }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Barcode;
using Leadtools.ImageProcessing;
using Leadtools.Examples;

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

   // Load the image
   RasterCodecs codecs = new RasterCodecs();

   // Rotate the image by 90, so default option of reading horizonal barcodes will not work
   Console.WriteLine("Rotating the image by 90 degrees");
   RotateCommand rotate = new RotateCommand(90 * 100, RotateCommandFlags.Resize, RasterColor.FromKnownColor(RasterKnownColor.White));
   rotate.Run(image);

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

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

   // Now set the default options for reading 1D barcodes to search for vertical barcodes and try again
   OneDBarcodeReadOptions oneDReadOptions = reader.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeReadOptions;
   oneDReadOptions.SearchDirection = BarcodeSearchDirection.Vertical;

   // Read again
   Console.WriteLine("Reading barcodes using new options");
   barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.UPCA);

   // Show its location and data if found
   // This will find the barcode and print its information now
   if(barcode != null)
   {
      Console.WriteLine("Found a {0} barcode at {1}, data:\n{2}", barcode.Symbology, 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_GetDefaultOptionsExample(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

   ' Load the image
   Dim codecs As RasterCodecs = New RasterCodecs()

   ' Rotate the image by 90, so default option of reading horizonal barcodes will not work
   Console.WriteLine("Rotating the image by 90 degrees")
   Dim rotate As RotateCommand = New RotateCommand(90 * 100, RotateCommandFlags.Resize, RasterColor.FromKnownColor(RasterKnownColor.White))
   rotate.Run(image)

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

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

   ' Now set the default options for reading 1D barcodes to search for vertical barcodes and try again
   Dim oneDReadOptions As OneDBarcodeReadOptions = TryCast(reader.GetDefaultOptions(BarcodeSymbology.UPCA), OneDBarcodeReadOptions)
   oneDReadOptions.SearchDirection = BarcodeSearchDirection.Vertical

   ' Read again
   Console.WriteLine("Reading barcodes using new options")
   barcode = reader.ReadBarcode(image, LogicalRectangle.Empty, BarcodeSymbology.UPCA)

   ' 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 a {0} barcode at {1}, data:" & Constants.vbLf & "{2}", barcode.Symbology, barcode.Bounds, barcode.Value)
   Else
      Console.WriteLine("Not found")
   End If
End Sub
必要条件

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

参照

参照

BarcodeReaderクラス
BarcodeReaderメンバ

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