InkAnalyzer クラス
レイアウト分析、書き込みと描画分類、および手書き認識へのアクセスを提供します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink.Analysis (Microsoft.Ink.Analysis.dll 内)
構文
'宣言
Public Class InkAnalyzer _
Implements IDisposable
'使用
Dim instance As InkAnalyzer
public class InkAnalyzer : IDisposable
public ref class InkAnalyzer : IDisposable
public class InkAnalyzer implements IDisposable
public class InkAnalyzer implements IDisposable
解説
分析のために InkAnalyzer に対してストロークの追加や削除を行うには、AddStroke、AddStrokes、InkAnalyzer.RemoveStroke、または RemoveStrokes メソッドを使用します。これらのメソッドは、ストロークが次の分析処理で分析される領域である DirtyRegion プロパティを更新します。
インクを分析するには、Analyze メソッドまたは BackgroundAnalyze メソッドを使用します。分析時に、InkAnalyzer はレイアウト分析、ストローク分類、および手書き認識を行います。
InkAnalyzer は、分析時に多くのイベントを発生させます。バックグラウンド分析中に生成されるイベントを InkAnalyzer がどのスレッドで発生させるかを指定するために、SynchronizingObject プロパティを設定します。多くの InkAnalyzer イベントでは、InkAnalyzer のデータ プロキシ機能がサポートされます。詳細については、「Data Proxy with Ink Analysis」を参照してください。
イベント ハンドラ内で分析処理を停止するには、Abort メソッドを呼び出します。
インク アナライザが手書き認識の識別に使用する言語を変更するには、InkAnalyzer.SetStrokeLanguageId または InkAnalyzer.SetStrokesLanguageId を使用します。インク アナライザが特定のストロークを分類する方法を変更するには、InkAnalyzer.SetStrokeType または InkAnalyzer.SetStrokesType を使用します。
InkAnalyzer は、インストールされたすべてのインク認識エンジンを読み込みます。GetInkRecognizersByPriority メソッドは、使用可能な InkRecognizer が含まれている InkRecognizerCollection を取得します。複数のインク認識エンジンが特定の言語をサポートする場合、SetAsHighestPriorityInkRecognizer を使用して、その言語のストロークを処理するインク認識エンジンを設定します。
インク分析処理へのコンテキストの提供の詳細については、CreateAnalysisHint、DeleteAnalysisHint、および GetAnalysisHints を参照してください。
インク アナライザは、分析結果を文字列、または ContextNode オブジェクトのツリーとして表します。認識された文字列にアクセスするには、GetRecognizedString を使用します。ツリーのルートにアクセスするには、RootNode プロパティを使用します。インク アナライザには、特定のコンテキスト ノードまたはテキストを検索する次のメソッドがあります。
代替分析結果を取得するには、GetAlternates および ModifyTopAlternate を使用します。
分析結果を保存するには、SaveResults を使用します。保存された結果を読み込むには、Load を使用します。
InkAnalyzer を使用したインクの分析の詳細については、「Ink Analysis Overview」を参照してください。
イベント ハンドラが結合されているオブジェクトがスコープの外に出る前に、任意の InkAnalyzer オブジェクトの Dispose メソッドを明示的に呼び出す必要があります。
例
この例では次の処理を行います。
新しい Microsoft.Ink.Ink オブジェクト theInk を初期化します。
Ink.InkAdded イベント ハンドラ theInk_InkAdded を theInk に結合します。
theInk からストローク データを分析できる新しい InkAnalyzer、theInkAnalyzer を初期化します。
' Create the Ink for use with the InkCollector and attach
' event handlers.
Me.theInk = New Microsoft.Ink.Ink()
AddHandler Me.theInk.InkAdded, AddressOf theInk_InkAdded
' Create the InkAnalyzer.
Me.theInkAnalyzer = New Microsoft.Ink.InkAnalyzer(Me.theInk, Me)
// Create the Ink for use with the InkCollector and attach
// event handlers.
this.theInk = new Microsoft.Ink.Ink();
this.theInk.InkAdded +=
new Microsoft.Ink.StrokesEventHandler(theInk_InkAdded);
// Create the InkAnalyzer.
this.theInkAnalyzer =
new Microsoft.Ink.InkAnalyzer(this.theInk, this);
この例では、次に theInk_InkAdded イベント ハンドラが、theInk に追加されているストロークを受け取り、theInkAnalyzer に追加します。
''' <summary>
''' The ink's InkAdded event handler.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Sub theInk_InkAdded( _
ByVal sender As Object, ByVal e As Microsoft.Ink.StrokesEventArgs)
' This event handler is attached to an Ink object.
Dim theInk As Microsoft.Ink.Ink = DirectCast(sender, Microsoft.Ink.Ink)
' Add the new strokes to the InkAnalyzer.
Me.theInkAnalyzer.AddStrokes(theInk.CreateStrokes(e.StrokeIds))
End Sub 'theInk_InkAdded
/// <summary>
/// The ink's InkAdded event handler.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
void theInk_InkAdded(object sender, Microsoft.Ink.StrokesEventArgs e)
{
// This event handler is attached to an Ink object.
Microsoft.Ink.Ink theInk = sender as Microsoft.Ink.Ink;
// Add the new strokes to the InkAnalyzer.
this.theInkAnalyzer.AddStrokes(theInk.CreateStrokes(e.StrokeIds));
}
継承階層
System.Object
Microsoft.Ink.InkAnalyzer
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0
参照
参照
Microsoft.Ink.AnalysisAlternate