Condividi tramite


Struttura RecognizerGuide

Aggiornamento: novembre 2007

Rappresenta l'area utilizzata dall'oggetto Recognizer in cui è possibile disegnare l'input penna. Quest'area è nota come guida del sistema di riconoscimento.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
Public Structure RecognizerGuide
'Utilizzo
Dim instance As RecognizerGuide
public struct RecognizerGuide
public value class RecognizerGuide
public final class RecognizerGuide extends ValueType
JScript supporta l'utilizzo di strutture ma non la dichiarazione di nuove.

Note

La guida del sistema di riconoscimento può essere costituita da righe e colonne e offre al sistema di riconoscimento un contesto migliore nel quale eseguire il riconoscimento. Ad esempio, è possibile disegnare righe orizzontali sullo schermo di un utente, quasi come fosse un foglio a righe, per indicare il punto in cui deve essere eseguito l'input a penna (questo tipo di guida sarebbe costituito solo da righe e non da colonne). Se un utente scrive sulle righe, anziché utilizzare arbitrariamente lo spazio, l'accuratezza del riconoscimento risulta migliorata. Per illustrazioni relative alle guide dei sistemi di riconoscimento, vedere Ink Recognition.

Lettere come "t" e "I" vengono riconosciute più facilmente quando viene utilizzata una guida per fornire il contesto all'input penna.

La guida specifica i limiti dell'input penna nelle coordinate dello spazio di input penna. La proprietà DrawnBox può definire una casella con una dimensione uguale o inferiore alla casella definita dalla proprietà WritingBox. In questo modo è possibile utilizzare diversi stili di scrittura. Se l'utente scrive all'esterno dell'oggetto DrawnBox, ma all'interno dell'oggetto WritingBox, l'oggetto Recognizer utilizza tutti gli input penna per supportare il riconoscimento.

Se l'applicazione ha fornito delle istruzioni sullo schermo sul quale l'utente deve scrivere, l'applicazione deve impostare i valori delle proprietà della guida del sistema di riconoscimento per informare tale sistema. Queste proprietà devono essere utilizzate solo dal sistema di riconoscimento. La sola impostazione di questi elementi non disegna indizi visivi sullo schermo. Questi ultimi vengono disegnati dall'applicazione o dal controllo.

Oltre a disegnare sullo schermo le righe che indicano agli utenti il punto in cui scrivere, è anche possibile disegnare celle in cui saranno inseriti caratteri o parole. Questa operazione si chiama input boxed ed è utile per alcune lingue dell'Asia orientale. Per determinare se il sistema di riconoscimento supporta l'input boxed, chiamare la proprietà Capabilities dell'oggetto Recognizer.

Per impostazione predefinita, non è disponibile nessuna guida. I valori di proprietà di una guida predefinita sono tutti impostati su 0, pertanto per impostare la guida è necessario utilizzare le proprietà di questo oggetto.

Esempi

In questo esempio viene creata un'istanza di un oggetto RecognizerContext e la proprietà Guide viene assegnata mediante la creazione di un nuovo oggetto RecognizerGuide.

' 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;
}

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

Membri RecognizerGuide

Spazio dei nomi Microsoft.Ink

Recognizer

RecognizerContext