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

フレームを表示

IBarcodeReadOptionsインターフェース








メンバ 
すべてのバーコードの読み取りオプションのためのインターフェース。
オブジェクトモデル
構文
public interface IBarcodeReadOptions : IBarcodeOptions  
'Declaration
 
Public Interface IBarcodeReadOptions 
   Inherits IBarcodeOptions 
'Usage
 
Dim instance As IBarcodeReadOptions
public interface IBarcodeReadOptions : IBarcodeOptions  
function Leadtools.Barcode.IBarcodeReadOptions() IBarcodeOptions 
public interface class IBarcodeReadOptions : public IBarcodeOptions  
解説

注意:LEADTOOLS for .NETにおいて、このインターフェースはBarcodeReadOptionsクラスに相当します。

BarcodeReaderクラスには、単一または複数のバーコードを1つの画像から読み取るための複数のメソッドが含まれます(「BarcodeReader.ReadBarcodeとBarcodeReader.ReadBarcodesメソッド」参照)。BarcodeReaderは、見つかったバーコードごとに、そのバーコードデータが格納されたBarcodeDataのインスタンスを返します。

IBarcodeReadOptionsインターフェースを実装するclasesは、LEADTOOLSを用いてバーコードを読むとき、使われるオプションを制御するのに用いられます。オプションの設定方法には次の2通りがあります。

BarcodeReaderクラスには、各バーコード体系(または共通バーコード体系のグループ)のデフォルトオプションが含まれます。これらのオプションを取得するには、対象のバーコード体系を渡してBarcodeReader.GetDefaultOptionsメソッドを呼び出します。その後で、返されたIBarcodeReadOptionsのメンバを変更できます(または、適切な派生クラスにキャストしてからそのメンバを変更します)。

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

IBarcodeReadOptionsのメンバとその機能を以下に示します。

メンバ 説明
IBarcodeReadOptions.ForeColor

カラー画像からバーコードを読むとき、使うバーコード前景色(バーまたはシンボルのカラー)を制御します。

IBarcodeReadOptions.BackColor

カラー画像からバーコードを読むとき、使うバーコード背景色(スペースのカラー)を制御します。

IBarcodeReadOptionsはインタフェースであり、直接作成することはできません。その代わりに、このインタフェースを実装する以下のいずれかのクラスを作成します。

読まれたオプションクラス 説明
OneDBarcodeReadOptions

規格基準1D一次元バーコードオプション。以下のバーコード体系のどれでも読むとき、使われます:EAN13、EAN8、UPCA、UPCE、Code3Of9、Code128、CodeInterleaved2Of5、Codabar、UCCEAN128、Code93、EANEXT5、EANEXT2、MSI、Code11、CodeStandard2Of5、GS1Databar、GS1DatabarLimitedまたはGS1DatabarExpanded

GS1DatabarStackedBarcodeReadOptions

GS1 Databar stackedは、オプションをバーコード化します。GS1DatabarStackedまたはGS1DatabarExpandedStackedバーコード体系を読むとき、使われます

FourStateBarcodeReadOptions

4-State barcodeオプション。AustralianPost4State、RoyalMail4StateまたはUSPS4Stateバーコード体系を読むとき、使われます

PostNetPlanetBarcodeReadOptions

PSTNET/Planetバーコードオプション。PostNetまたはPlanetバーコード体系を読むとき、使われます

PatchCodeBarcodeReadOptions

Patch codeバーコードオプション。PatchCodeシンボルを読むとき、使われます。

DatamatrixBarcodeReadOptions

Datamatrixバーコードオプション。Datamatrixシンボルを読むとき、使われます。

MicroPDF417BarcodeReadOptions

Micro PDF417バーコードオプション。MicroPDF417シンボルを読むとき、使われます。

PDF417BarcodeReadOptions

PDF417バーコードオプション。PDF417シンボルを読むとき、使われます。

QRBarcodeReadOptions

QRバーコードオプション。QRシンボルを読むとき、使われます。

サンプル

このサンプルは「水平と垂直」であるすべてのサポートされたバーコード体系のデフォルトのバーコード検索オプションを設定して、それから回転画像からバーコードを読みます。

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

      
public async Task BarcodeReadOptions_Example()
{
   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 all the barcodes from the image using default options
         Debug.WriteLine("Reading barcodes using default options");
         BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRectHelper.Empty, 0, null, null);
         if (barcodes != null)
         {
            // Show the number of barcodes found, should be 0 since default search direction is horizontal
            Debug.WriteLine("Found {0} barcodes", barcodes.Length);
         }
         else
            Debug.WriteLine("No barcodes found");

         // Now create options to read barcodes horizontally and vertically
         IBarcodeReadOptions[] options = GetHorizontalAndVerticalReadBarcodeOptions(reader);

         // Read again
         Debug.WriteLine("Reading barcodes using new options");
         barcodes = reader.ReadBarcodes(image, LeadRectHelper.Empty, 0, null, options);
         if (barcodes == null)
         {
            Debug.WriteLine("No barcodes found");
            return;
         }

         // Show the number of barcodes found, should all be read now
         Debug.WriteLine("Found {0} barcodes", barcodes.Length);
      }
   }
}

private static IBarcodeReadOptions[] GetHorizontalAndVerticalReadBarcodeOptions(BarcodeReader reader)
{
   // By default, the options read horizontal barcodes only, create an array of options capable of reading vertical barcodes

   // Notice, we cloned the default options in reader so we will not change the original options

   OneDBarcodeReadOptions oneDReadOptions = reader.GetDefaultOptions(BarcodeSymbology.UPCA).Clone() as OneDBarcodeReadOptions;
   oneDReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;

   FourStateBarcodeReadOptions fourStateReadOptions = reader.GetDefaultOptions(BarcodeSymbology.USPS4State).Clone() as FourStateBarcodeReadOptions;
   fourStateReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;

   PostNetPlanetBarcodeReadOptions postNetPlanetReadOptions = reader.GetDefaultOptions(BarcodeSymbology.PostNet).Clone() as PostNetPlanetBarcodeReadOptions;
   postNetPlanetReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;

   GS1DatabarStackedBarcodeReadOptions gs1StackedReadOptions = reader.GetDefaultOptions(BarcodeSymbology.GS1DatabarStacked).Clone() as GS1DatabarStackedBarcodeReadOptions;
   gs1StackedReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;

   PatchCodeBarcodeReadOptions patchCodeReadOptions = reader.GetDefaultOptions(BarcodeSymbology.PatchCode).Clone() as PatchCodeBarcodeReadOptions;
   patchCodeReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;

   PDF417BarcodeReadOptions pdf417ReadOptions = reader.GetDefaultOptions(BarcodeSymbology.PDF417).Clone() as PDF417BarcodeReadOptions;
   pdf417ReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;

   MicroPDF417BarcodeReadOptions microPdf417ReadOptions = reader.GetDefaultOptions(BarcodeSymbology.MicroPDF417).Clone() as MicroPDF417BarcodeReadOptions;
   microPdf417ReadOptions.SearchDirection = BarcodeSearchDirection.HorizontalAndVertical;

   // Even though this array will not contain all options, it should be enough to read all barcodes, since the version of ReadBarcodes we will use
   // will use the default options if an overriden is not passed
   IBarcodeReadOptions[] readOptions =
   {
      oneDReadOptions, fourStateReadOptions, postNetPlanetReadOptions, gs1StackedReadOptions, patchCodeReadOptions, pdf417ReadOptions, microPdf417ReadOptions
   };

   return readOptions;
}
必要条件

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

参照

参照

IBarcodeReadOptionsメンバ
Leadtools.Barcode名前空間
OneDBarcodeReadOptionsクラス
GS1DatabarStackedBarcodeReadOptionsクラス
FourStateBarcodeReadOptionsクラス
PostNetPlanetBarcodeReadOptionsクラス
PatchCodeBarcodeReadOptionsクラス
DatamatrixBarcodeReadOptionsクラス
MicroPDF417BarcodeReadOptionsクラス
PDF417BarcodeReadOptionsクラス
QRBarcodeReadOptionsクラス
BarcodeReaderクラス
BarcodeSymbology列挙体
BarcodeEngineクラス
BarcodeReader.ReadBarcode
BarcodeReader.ReadBarcodes
LEADTOOLSバーコードによるプログラミング
サポートされているバーコード体系
バーコードサポートのロック解除
読み取りバーコードチュートリアル

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