Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Delphi

Delphi VCLでWINSOFTのライブラリを使い光学式バーコード認識行う方法を学ぶ

1868978-1-2

1.前書き

OBR(Optical Barcode Recognition:光学式バーコード認識)は、VCLタイプライブラリ(Windowsプラットフォームのみ)で、その目的はQRコードとバーコード画像を読み取ることです。

次のビデオは、インストール方法を説明しています。

2.デモで使用しているコンポーネントと機能

デモのプロジェクトには2つのパネルがあります。1つは上部にあり、クリックすると画像を選択するTButtonコンポーネントが含まれています。中央にはTScrollbox(スクロール用)コンポーネントと選択した画像を表示するTImageコンポーネントがあります。下部にもう1つのパネルがあり、パネルにはTMemoコンポーネントが含まれています。

これらを組み合わせ、ボタンをクリックし、画像を選択し、そのコードを表示するプロジェクトを作成しています。

次の短いビデオで、その動作をご覧いただけます。

ボタンをクリックすると、TOpenPictureDialogコンポーネントが実行され、画像を選択するためのダイアログが開きます。 選択した画像がTImageコンポーネントに読み込まれ、中央のウィンドウに表示されます。

with OpenPictureDialog do
    if Execute then
    begin
      Memo.Clear;
      Image.Picture.LoadFromFile(FileName);
obrlib-1-9581250-5196090

選択した画像がTObrコンポーネント(スキャナー)を使用してスキャンされます。

Obr.Active := True;
try 
  Obr.Picture.Assign(Image.Picture); 
  Obr.Scan;

画像の読み取り後にコードが検出されない(見つからない)場合は、下部のTMemoコンポーネントに「No barcode found(バーコードが見つかりません)」と書き込みます。

if Obr.BarcodeCount = 0 then
  Memo.Lines.Append('No barcode found');

TObrコンポーネントによってコードが検出されると、OnBarcodeDetectedイベントが発生します。 TObrスキャナーからの結果がイベント内で生成されます。 スキャンされたすべてのシンボルを取得するには、OBRリストの項目であるTObrSymbolを使用します。 この場合、リストには1つのアイテムのみが含まれます。 TObrSymbolは、スキャンされた結果をさまざまなパーツに分解します。 各パーツには異なる情報が含まれています(結果の一部はテキストで表示されます)。

procedure TFormMain.ObrBarcodeDetected(Sender: TObject);
var
  i: Integer; 
  Barcode: TObrSymbol; 
begin 
  Memo.Clear;
  for i := 0 to Obr.BarcodeCount - 1 do
  begin
    Barcode := Obr.Barcode[i]; 
    Memo.Lines.Append(Barcode.SymbologyName + Barcode.SymbologyAddonName + ' ' + Barcode.OrientationName + ' ' + Barcode.DataAnsi); 
  end;
end;    

このOBRデモコードは、ここからダウンロードできます。

Delphiで使用できるWINSOFTのOBRライブラリに関する詳細をご覧ください。コンポーネントのトライアル版も、こちらからダウンロードできます。

DelphiおよびC++BuilderプロジェクトでWindowsポータブルデバイス(WPD)を有効にするOBRライブラリは、WinSoft社の製品です。この記事に記載された機能を利用するには、WinSoft社のサイトからOBRライブラリを購入する必要があります。OBRライブラリに関するサポートは、WinSoft社によって提供されます。

Kai for RAD Studio is Now Available! Special Live Webinar: Introducing Kai - A New Chapter for RAD Studio RAD Studio 13.1 Florence Now Available

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.

Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES