LEADTOOLS JavaScript(Leadtools.Annotations.Core)

フレームを表示

アノテーションはベクター描画関数に基づいており、表示画像のオーバーレイとしてビットマップに関連づけられています。LEADTOOLSは、線分、四角形、ホットスポット、改訂オブジェクト、多角形、およびコンテナなどの数多くのアノテーション型をサポートします。コンテナは、配置して、他のアノテーションオブジェクト(他のコンテナオブジェクトを含む)を集めさせる専門アノテーションオブジェクトです。

さまざまなアノテーションオブジェクトのサポートは、様々なアノテーションオブジェクトのクラスにより提供されます。名前の形式はAnnXXXXObjectで、XXXXにオブジェクトのタイプが入ります。利用できるアノテーションオブジェクトクラスの全リストについては、アノテーションObjectsのタイプを参照します。LEADTOOLSは、イメージとは別に、アノテーションを維持管理します。アプリケーションコードは、イメージとアノテーションの関係を維持管理する役割を果たします。たとえば、LEADTOOLSに付属しているアノテーションのサンプルでは、対応する画像ファイルと名前が同じで拡張子が異なるアノテーションファイルが作成されます。画像ファイルがロードされると、関連づけられるアノテーションファイルを検索し、同様にロードします。

アノテーションは、以下の形式のどれででもAnnCodecs.Saveメソッドを使って保存されることができます:

非自動アノテーション

非自動アノテーションでは、アノテーションの作成と対話処理を必要に応じてカスタマイズできます。非自動アノテーションをプログラミングする際は、以下の点を念頭に置いてください。

オートメーション化したアノテーション

自動アノテーションを組み込むには、オートメーションオブジェクトをImageViewerに関連付ける必要があります。この自動オブジェクトを使用して、すべてのオブジェクトのデフォルトプロパティを保持できます。たとえば、デフォルトのフォントとデフォルトの線幅を設定するために、それを使うことができます。しかし、倍率がこれらのデフォルトの寸法の外観に影響を及ぼすことを心にとめておきます。値は、オブジェクトの作成時に効果を有する倍率に基づいて設定されます。自動化されたアノテーションに関連づけられる機能は、以下の通りです。

オートメーション化したアノテーションのためのユーザーインターフェースは、アノテーションオブジェクトの動作を制御することができるいくつかのオプションを持っています。そのようなオプションは、以下の行動を実行することができるものを含みます:

詳細については、「アノテーションの回転オプション」を参照してください。

アノテーションクラス

以下の段落では、アノテーションのサポートを導入する際に使用する主要なクラスについて簡単に説明します。

AnnAutomationObjectクラスは、アノテーションオブジェクトを自動化するために必要なすべてのプロパティを定義します。このクラスのインスタンスを作成し、必要なプロパティに値を入力し、Objectsコレクションに追加します。いつでも、Objectsコレクションを列挙して、欲しい任意のプロパティを追加または削除するか、修正します。CreateDefaultObjectsメソッドは、デフォルトのアノテーションオブジェクトのためにデフォルトのAnnAutomationObjectオブジェクトを作成します。LEADTOOLSは、デフォルトのアノテーションオブジェクトのためにオートメーションプロパティを作成します。このクラスのメンバをオーバーライドするか、または独自の派生クラスを作成することにより、プロパティの動作を変更できます。デフォルトのオートメーションアノテーションオブジェクトを作成するために、CreateDefaultObjectsメソッドを使います。

特定のIDに関連づけられるAnnAutomationObjectを見つけるために、FindObjectByIdメソッドを使います

AnnAutomationManagerクラスは、アノテーションツールバー同様にアプリケーション内ですべてのAnnAutomationオブジェクトのコレクションを保持します。カーソル、キーボード、コンテキスト依存メニュー、プロパティダイアログ、その他各種のユーザーインタフェースオプションおよび設定もここに保存されます。オートメーション化したアノテーションアプリケーションは、通常アプリケーションにつき1つのAnnAutomationManagerオブジェクトを作成します。

アノテーションで機能するとき、多くのオブジェクトの背景ブラシ(内部を塗りつぶすブラシ)はオブジェクトの「塗りつぶし」を変更することによって変更されることができます、そして、直線の特徴はオブジェクトの「ストローク」を変更することによって変更されることができます。詳細については、「自動アノテーションの背景ブラシの変更」を参照してください。アノテーションオブジェクトのブラシ/ストロークのサポートは、AnnBrushと派生クラスにより提供されます。

AnnCodecsクラスは、操作をロードして保存することを処理します。以下のメソッドで、ファイルからアノテーションをロードするか、ファイルに保存することができます。

AnnContainerクラスは、アノテーションコンテナ(アノテーションオブジェクトを保持する長方形の領域)を表します。コンテナは、生成するだけでなく、これらのオブジェクトを維持管理する役割を果たします。

AnnDesignerクラスは、アノテーションツールキットに含まれるすべてのデザイナの基本クラスです。AnnDesigner派生クラスは、オブジェクトの描画、編集、または実行に関連するユーザーインタフェースを制御します。このクラスは、ContainerメンバにAnnContainerオブジェクトに割り当てるデザイナー全員に共通の基本的な機能性をコンテナ、マウスカーソルをクリップすることその他に、フッキングなどの提供します。こうすると、正確なデザイナ機能に基づいてさまざまなマウスイベントがフックされ、新しいAnnObjectの描画、既存の編集(移動やリサイズなど)、または実行(コンテナが実行ユーザーモードの場合)が行われます。AnnDesignerクラスは、プロパティとメソッドをインタラクティブにアノテーションオブジェクトを編集するために提供します。

AnnObjectクラスは、アノテーションクラスライブラリで使われるすべてのアノテーションオブジェクトのためのベースクラスです。このクラスは、すべてのアノテーションオブジェクトによって共有される共通の描画情報を保持します。特定のクラスがストロークか、塗りつぶしかフォントをサポートするかどうか、簡単に決定するためにこのクラスのプロパティを問い合わせることができて、速く変更することができます。

イベント

アプリケーションを適応させるために、以下のイベントを使います:

アノテーションオブジェクトラベル

コンテナで複数のオブジェクトを区別するか、アノテーションオブジェクトが示すいろいろなテキスト要素を制御するために、アノテーションオブジェクトラベルを使います。詳細については、「アノテーションObjectラベル」を参照してください。

ユーザーインターフェース、オートメーションMode

グループ化とグループ解除

以下のメソッドは、アノテーションオブジェクトを集めるか、グループ解除させました:

グループ化とグループ解除の詳細については、「アノテーションオブジェクトのグループ化とグループ解除」を参照してください。

Undo

LEADTOOLSアノテーション機能は、アノテーションオートメーション操作を元に戻すために、取り消しエンジンを含みます。AnnAutomation.UndoCapacityプロパティは、取り消すことができる操作の数を指定します。デフォルトのアクション数は10です。LEADTOOLSは、非自動操作において取り消し機能を扱うメソッドやプロパティを数多く提供します。詳細については、「アノテーションの自動操作の取り消し」を参照してください。

ユーザモード

現在のユーザモードを取得または設定するには、UserModeプロパティを使います。AnnUserMode.Designモードは、オブジェクトを作成するためにあります;AnnUserMode.Runモードは、表示するためにあります。UserModeプロパティが変更されるときはいつでも、UserModeChangedイベントは発生されます。以下のプロパティとメソッドで、オートメーションモードで使用するインターフェースを作成してカスタマイズできます。

© 1991-2015のLEAD Technologies, Inc. All Rights Reserved.