RecognitionResult.Strokes (Propiedad)
Actualización: noviembre 2007
Obtiene la colección Strokes que utilizó el reconocedor para generar el objeto RecognitionResult.
Espacio de nombres: Microsoft.Ink
Ensamblado: Microsoft.Ink (en Microsoft.Ink.dll)
Sintaxis
'Declaración
Public ReadOnly Property Strokes As Strokes
'Uso
Dim instance As RecognitionResult
Dim value As Strokes
value = instance.Strokes
public Strokes Strokes { get; }
public:
property Strokes^ Strokes {
Strokes^ get ();
}
/** @property */
public Strokes get_Strokes()
public function get Strokes () : Strokes
Valor de propiedad
Tipo: Microsoft.Ink.Strokes
Colección Strokes que el reconocedor usó para generar el objeto RecognitionResult.
Comentarios
De forma predeterminada, el objeto RecognitionResult no se asocia a una colección Strokes. Para asignar los resultados a una colección Strokes, debe llamar al método SetResultOnStrokes del objeto RecognitionResult.
Ejemplos
En este ejemplo, el reconocimiento sincrónico se controla en respuesta a una acción del usuario, como hacer clic en un elemento de menú o en un botón. En primer lugar, la colección Strokes de un objeto RecognizerContext se asigna en la colección Strokes asociada a un objeto InkOverlay y se comprueba el recuento de trazos. Si la colección Strokes contiene al menos un objeto Stroke, el proceso de reconocimiento se inicia con una llamada al método Recognize. Si el reconocimiento es correcto y TopConfidence (si se admite) no es igual a RecognitionConfidencePoor (es decir, es Intermediate o Strong), para mostrar TopString se agrega a un cuadro de lista.
' assign strokes collection from the collected strokes
Me.mRecognizerContext.Strokes = Me.mInkOverlay.Ink.Strokes
' check stroke count. Recognize() will throw exception if no strokes
If (Me.mRecognizerContext.Strokes.Count > 0) Then
Dim status As RecognitionStatus
' perform the recognition
Dim rResult As RecognitionResult = Me.mRecognizerContext.Recognize(status)
' see if the recognizer used supports confidence levels
Dim rSupportsConfidence As Boolean = RecognizerSupportsConfidence(mRecognizerContext.Recognizer)
' check status and TopConfidence (if supported)
If (RecognitionStatus.NoError = status And _
((rSupportsConfidence And _
rResult.TopConfidence <> RecognitionConfidence.Poor) Or _
Not rSupportsConfidence)) Then
listBoxRecognitionResults.Items.Add(rResult.TopString)
End If
End If
// assign strokes collection from the collected strokes
this.mRecognizerContext.Strokes = this.mInkOverlay.Ink.Strokes;
// check stroke count. Recognize() will throw exception if no strokes
if (this.mRecognizerContext.Strokes.Count > 0)
{
RecognitionStatus status;
// perform the recognition
RecognitionResult rResult = this.mRecognizerContext.Recognize(out status);
// see if the recognizer used supports confidence levels
bool rSupportsConfidence = RecognizerSupportsConfidence(mRecognizerContext.Recognizer);
// check status and TopConfidence (if supported)
if (RecognitionStatus.NoError == status &&
((rSupportsConfidence &&
rResult.TopConfidence != RecognitionConfidence.Poor) ||
!rSupportsConfidence))
{
listBoxRecognitionResults.Items.Add(rResult.TopString);
}
}
En el ejemplo siguiente, se muestra el método auxiliar que se usa para determinar si Recognizer admite niveles de confianza.
Private Function RecognizerSupportsConfidence(ByVal pRecognizer As Recognizer) As Boolean
For Each G As Guid In pRecognizer.SupportedProperties
If G = RecognitionProperty.ConfidenceLevel Then
Return True
End If
Next
Return False
End Function
private bool RecognizerSupportsConfidence(Recognizer pRecognizer)
{
foreach (Guid G in pRecognizer.SupportedProperties)
{
if (G == RecognitionProperty.ConfidenceLevel)
{
return true;
}
}
return false;
}
Plataformas
Windows Vista
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión
.NET Framework
Compatible con: 3.0