RecognizerGuide 構造体
Recognizer オブジェクトにより使用され、インクを描画可能な領域を表します。この領域は、認識ガイドと呼ばれます。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink (Microsoft.Ink.dll 内)
構文
'宣言
Public Structure RecognizerGuide
'使用
Dim instance As RecognizerGuide
public struct RecognizerGuide
public value class RecognizerGuide
public final class RecognizerGuide extends ValueType
JScript では、構造体を使用できますが、新規に宣言することはできません。
解説
認識ガイドは、行および列で構成され、認識の実行に適したコンテキストを認識エンジンに提供します。たとえば、インクが表示される場所を示す横線をユーザーの画面に描画して、罫線付きの用紙のようにできます (この種類のガイドは行でのみ構成され、列はありません)。ユーザーが、任意の空白ではなく線を書き込んだ場合、認識の正確さが向上します。認識ガイドの図については、「Ink Recognition」を参照してください。
ガイドを使用してインクにコンテキストを提供すると、"t" や "I" などの文字がより認識されやすくなります。
このガイドは、インク空間座標におけるインクの境界を指定します。DrawnBox プロパティは、WritingBox プロパティにより定義されるボックス以下の大きさのボックスを定義できます。これにより、さまざまな手書きスタイルが可能になります。ユーザーが DrawnBox の外側かつ WritingBox の内側に手書きを行った場合、Recognizer オブジェクトはすべてのインクを認識に利用します。
ユーザーが手書きを行う画面にアプリケーションがガイドラインを描画した場合、認識エンジンに伝えられる認識ガイドのプロパティ値を設定する必要があります。これらのプロパティは、認識エンジンによってのみ使用されます。これらのプロパティを設定すること自体により、画面に視覚的なヒントが描画されるわけではありません。視覚的なヒントは、アプリケーションまたはコントロールにより描画されます。
手書きを行う場所をユーザーに示す線や罫線を画面に描画することに加えて、文字または単語が書き込まれるセルを画面に描画することもできます。これはボックス入力と呼ばれ、一部の東アジア言語で役立ちます。認識エンジンがボックス入力に対応しているかどうかを調べるには、Recognizer オブジェクトの Capabilities プロパティを呼び出します。
既定では、ガイドはありません。既定のガイドでは、すべてのプロパティ値が 0 に設定されています。このオブジェクトのプロパティを使用して、ガイドを設定する必要があります。
例
この例では、RecognizerContext オブジェクトがインスタンス化され、新しい RecognizerGuide オブジェクトを作成することによって Guide プロパティに割り当てられます。
' create a new RecognizerContext object
mRecognizerContext = New RecognizerContext()
' if the Recognizer supports LinedInput, set the Guide
If (mRecognizerContext.Recognizer.Capabilities And RecognizerCapabilities.LinedInput) <> 0 Then
' get the lower right corner in pixel units
Dim lowerRight As Point = New Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height)
' convert to ink space units
mInkOverlay.Renderer.PixelToInkSpace(Me.CreateGraphics(), lowerRight)
' create Rectangles
Dim writingBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
Dim drawnBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
' shrink drawn box relative to writing box
drawnBox.Inflate(-100, -100)
' create Guide with 8 rows, zero columns, and no midline
Dim guide As RecognizerGuide = New RecognizerGuide(8, 0, 0, writingBox, drawnBox)
mRecognizerContext.Guide = guide
End If
// create a new RecognizerContext object
mRecognizerContext = new RecognizerContext();
// if the Recognizer supports LinedInput, set the Guide
if ((mRecognizerContext.Recognizer.Capabilities & RecognizerCapabilities.LinedInput) != 0)
{
// get the lower right corner in pixel units
Point lowerRight = new Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height);
// convert to ink space units
mInkOverlay.Renderer.PixelToInkSpace(this.CreateGraphics(), ref lowerRight);
// create Rectangles
Rectangle writingBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
Rectangle drawnBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
// shrink drawn box relative to writing box
drawnBox.Inflate(-100, -100);
// create Guide with 8 rows, zero columns, and no midline
RecognizerGuide guide = new RecognizerGuide(8, 0, 0, writingBox, drawnBox);
mRecognizerContext.Guide = guide;
}
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0