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;
}
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0