領域の分析のヒントを含む InkAnalyzer を提供します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink.Analysis (Microsoft.Ink.Analysis.dll 内)
構文
'宣言
Public NotInheritable Class AnalysisHintNode _
Inherits ContextNode
'使用
Dim instance As AnalysisHintNode
public sealed class AnalysisHintNode : ContextNode
public ref class AnalysisHintNode sealed : public ContextNode
public final class AnalysisHintNode extends ContextNode
public final class AnalysisHintNode extends ContextNode
解説
AnalysisHintNode は、特定の領域に関するヒント (ヒントの Location) を、結合先の InkAnalyzer に提供します。ヒントは、インク アナライザに追加のコンテキストを提供するため、認識の正確さが向上します。InkAnalyzer は、ヒントの領域内でインクを分析するときにこのコンテキスト情報を適用します。
ヒントに、グローバル ヒントと呼ばれる無限領域が割り当てられた場合、InkAnalyzer はヒントのコンテキストを、別のヒントの領域内に含まれていないすべてのインクに適用します。1 つの InkAnalyzer には複数のヒントをアタッチすることができます。ただし、グローバル ヒントは 1 つの InkAnalyzer に 1 つだけアタッチでき、グローバル ヒント以外のヒントは重複することはできません。ヒントが提供可能なコンテキスト情報の種類の詳細については、このクラスのメンバを参照してください。
InkAnalyzer にヒントを追加するには、InkAnalyzer.CreateAnalysisHint を使用します。InkAnalyzer からヒントを削除するには、DeleteAnalysisHint を使用します。
![]() |
---|
InkAnalyzer にヒントを追加しても、InkAnalyzer オブジェクトの DirtyRegion は変更されません。InkAnalyzer を使用してヒントの領域内でインクを再分析するには、DirtyRegion オブジェクトの Union(AnalysisRegion) メソッドを使用します。 |
InkAnalyzer は、Analyze または BackgroundAnalyze メソッドが呼び出されるたびにヒントの Links プロパティを更新します。InkAnalyzer は、AnalysisHintNode と、ヒントが適用される各 ContextNode の間に ContextLink を追加します。ContextNode のすべての子孫にヒントが適用される場合、InkAnalyzer は、ヒントをその ContextNode にのみリンクし、その子孫にはリンクしません。
カスタム認識エンジン ノードにヒントを適用する場合、AnalysisHintNode の Location プロパティは使用されません。ヒントを作成して、ストロークが CustomRecognizerNode 内に含まれるようにその場所を設定した場合、このヒントはそれらのストロークに適用されません。カスタム認識エンジン ノード内のストロークにヒントを正しく適用するには、Analyze を呼び出す前に AnalysisHintNode と CustomRecognizerNode の間にリンクを作成します。たとえば、theAnalysisHint という AnalysisHintNode と、theCustomRecognizerNode という CustomRecognizerNode があるとします。2 つの間にリンクを作成するには、theAnalysisHint.Links.Add(theCustomRecognizerNode, ContextLinkDirection.LinksWith) を使用します。
グローバル ヒント以外のヒントを 1 つだけ CustomRecognizerNode に適用できます。CustomRecognizerNode からグローバル ヒント以外のヒントを削除するには、Remove を使用して CustomRecognizerNode の Links プロパティからリンクを削除します。
空ではない領域のグローバル ヒント以外のヒントが CustomRecognizerNode に適用された場合、InkAnalyzer はヒントのコンテキストを CustomRecognizerNode と、ヒントの領域内のインクの両方に適用します。
分析によって、AnalysisHintNode から CustomRecognizerNode へのリンクが作成または削除されることはありません。
注文書アプリケーションのヒントを使用すると、アプリケーションはフォームでテキスト コンテキストとインクを混合しなくなります。これは、たとえばテキスト フィールド名が分析ツリーに作成されないことを意味します。ヒントは、インクをページ上の領域に関連付けるためのものです。テキスト コンテキストは、インクからヒントへの関連付けに干渉します。分析処理では、同じ手書き領域のインクとテキスト コンテキストをマージできます。これを行うと、インクがヒント領域に関連付けられなくなります。
例
この例では、InkAnalyzer、theInkAnalyzerWithHint の AnalysisHintNode、theAnalysisHint を作成し、その領域を無限にすることにより theAnalysisHint をグローバル ヒントにします。次に、ヒントで AllowPartialDictionaryTerms プロパティおよび Name プロパティを設定します。
' Add a new, global analysis hint to theInkAnalyzerWithHint.
Dim theAnalysisHint As Microsoft.Ink.AnalysisHintNode = _
Me.theInkAnalyzerWithHint.CreateAnalysisHint()
theAnalysisHint.Location.MakeInfinite()
theAnalysisHint.AllowPartialDictionaryTerms = True
theAnalysisHint.Name = "Allow Partial Dictionary Terms"
// Add a new, global analysis hint to theInkAnalyzerWithHint.
Microsoft.Ink.AnalysisHintNode theAnalysisHint =
this.theInkAnalyzerWithHint.CreateAnalysisHint();
theAnalysisHint.Location.MakeInfinite();
theAnalysisHint.AllowPartialDictionaryTerms = true;
theAnalysisHint.Name = "Allow Partial Dictionary Terms";
継承階層
System.Object
Microsoft.Ink.ContextNode
Microsoft.Ink.AnalysisHintNode
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0