InkAnalyzerBase.AddStrokeToCustomRecognizer, méthode
Mise à jour : November 2007
Ajoute des données de trait à un nœud de reconnaissance personnalisée pour un trait unique.
Espace de noms : System.Windows.Ink.AnalysisCore
Assembly : IACore (dans IACore.dll)
Syntaxe
'Déclaration
Public Function AddStrokeToCustomRecognizer ( _
strokeId As Integer, _
strokePacketData As Integer(), _
strokePacketDescription As Guid(), _
customRecognizer As ContextNodeBase _
) As ContextNodeBase
'Utilisation
Dim instance As InkAnalyzerBase
Dim strokeId As Integer
Dim strokePacketData As Integer()
Dim strokePacketDescription As Guid()
Dim customRecognizer As ContextNodeBase
Dim returnValue As ContextNodeBase
returnValue = instance.AddStrokeToCustomRecognizer(strokeId, _
strokePacketData, strokePacketDescription, _
customRecognizer)
public ContextNodeBase AddStrokeToCustomRecognizer(
int strokeId,
int[] strokePacketData,
Guid[] strokePacketDescription,
ContextNodeBase customRecognizer
)
public:
ContextNodeBase^ AddStrokeToCustomRecognizer(
int strokeId,
array<int>^ strokePacketData,
array<Guid>^ strokePacketDescription,
ContextNodeBase^ customRecognizer
)
public ContextNodeBase AddStrokeToCustomRecognizer(
int strokeId,
int[] strokePacketData,
Guid[] strokePacketDescription,
ContextNodeBase customRecognizer
)
public function AddStrokeToCustomRecognizer(
strokeId : int,
strokePacketData : int[],
strokePacketDescription : Guid[],
customRecognizer : ContextNodeBase
) : ContextNodeBase
Paramètres
- strokeId
Type : System.Int32
Identificateur de trait.
- strokePacketData
Type : array<System.Int32[]
Tableau contenant les données de paquet du trait.
- strokePacketDescription
Type : array<System.Guid[]
Tableau contenant les identificateurs de la propriété du paquet.
- customRecognizer
Type : System.Windows.Ink.AnalysisCore.ContextNodeBase
Nœud de reconnaissance personnalisée auquel le trait est ajouté.
Valeur de retour
Type : System.Windows.Ink.AnalysisCore.ContextNodeBase
Nœud de contexte auquel l'analyseur d'entrée manuscrite a ajouté le trait.
Notes
Le InkAnalyzerBase ajoute le trait à un ContextNodeBase dont la propriété Type a la valeur UnclassifiedInk().
Pendant l'analyse, l'analyseur d'entrée manuscrite assigne l'identificateur de culture du thread d'entrée actif au trait et ajoute le trait au premier nœud d'entrée manuscrite non classé sous le module de reconnaissance de l'écriture manuscrite. Si aucun nœud non classifié n'existe, il est créé. Si la reconnaissance personnalisée ne prend pas en charge l'identificateur de culture, l'analyseur d'entrée manuscrite continue l'analyse et génère un avertissement AnalysisWarningBase. La valeur AnalysisWarningCode de la propriété WarningCode de cet avertissement est LanguageIdNotRespected.
strokePacketData contient des données de paquet pour tous les points du trait. strokePacketDescription contient les identificateurs globaux uniques (GUID) qui décrivent les types de données de paquet pour chaque point du trait. Pour obtenir la liste des propriétés de paquet disponibles, consultez la classe PacketProperty.
Cette méthode étend la propriété DirtyRegion à l'union de la valeur actuelle de la région et du cadre englobant du trait ajouté.
Le InkAnalyzerBase lève une exception dans les conditions suivantes.
Le InkAnalyzerBase contient déjà un trait présentant le même identificateur que le trait à ajouter.
Le paramètre customRecognizer contient un ContextNodeBase associé à un autre objet InkAnalyzerBase.
Le paramètre customRecognizer contient un ContextNodeBase dont la propriété Type n'a pas la valeur CustomRecognizer().
Exemples
Cet exemple définit une méthode qui convertit une collection Stroke en données de paquet et ajoute le trait à un nœud de reconnaissance personnalisée. La méthode retourne le ContextNodeBase auquel l'analyseur d'entrée manuscrite a ajouté le trait.
''' <summary>
''' Adds a stroke to a custom recognizer node.
''' </summary>
''' <param name="baseInkAnalyzer">The ink analyzer that contains the
''' custom recognizer node.</param>
''' <param name="theStroke">The stroke to add.</param>
''' <param name="theCustomRecognizer">The custom recognizer node
''' to which to add the stroke.</param>
''' <returns>The node to which the analyzer added the stroke.</returns>
''' <remarks>
''' This method converts stroke data to packet data for example only.
''' The InkAnalyzerBase is used when your application is handling packet
''' data. If your application uses stroke data from an Ink object, then
''' you would use InkAnalyzer.
''' </remarks>
Public Overloads Shared Function MyAddStrokeToCustomRecognizer( _
ByVal baseInkAnalyzer As System.Windows.Ink.AnalysisCore.InkAnalyzerBase, _
ByVal theStroke As Microsoft.Ink.Stroke, _
ByVal theCustomRecognizer As System.Windows.Ink.AnalysisCore.ContextNodeBase) _
As System.Windows.Ink.AnalysisCore.ContextNodeBase
If baseInkAnalyzer Is Nothing Then
Throw New ArgumentNullException("baseInkAnalyzer")
End If
If theStroke Is Nothing Then
Throw New ArgumentNullException("theStroke")
End If
If theCustomRecognizer Is Nothing Then
Throw New ArgumentNullException("theCustomRecognizer")
End If
If System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.CustomRecognizer <> _
theCustomRecognizer.Type Then
Throw New ArgumentException( _
"The context node is not a custom recognizer node.", _
"theCustomRecognizer")
End If
If baseInkAnalyzer.FindNode(theCustomRecognizer.Id) Is Nothing Then
Throw New ArgumentException( _
"The custom recognizer node is not attached to the ink analyzer.")
End If
Dim result As System.Windows.Ink.AnalysisCore.ContextNodeBase = _
baseInkAnalyzer.AddStrokeToCustomRecognizer(theStroke.Id, _
theStroke.GetPacketData(), theStroke.PacketDescription, _
theCustomRecognizer)
Return result
End Function 'AddStrokeToCustomRecognizer
/// <summary>
/// Adds a stroke to a custom recognizer node.
/// </summary>
/// <param name="baseInkAnalyzer">The ink analyzer that contains the
/// custom recognizer node.</param>
/// <param name="theStroke">The stroke to add.</param>
/// <param name="theCustomRecognizerNode">The custom recognizer node
/// to which to add the stroke.</param>
/// <returns>The node to which the analyzer added the stroke.</returns>
/// <remarks>
/// This method converts stroke data to packet data for example only.
/// The InkAnalyzerBase is used when your application is handling packet
/// data. If your application uses stroke data from an Ink object, then
/// you would use InkAnalyzer.
/// </remarks>
public static System.Windows.Ink.AnalysisCore.ContextNodeBase MyAddStrokeToCustomRecognizer(
System.Windows.Ink.AnalysisCore.InkAnalyzerBase baseInkAnalyzer,
Microsoft.Ink.Stroke theStroke,
System.Windows.Ink.AnalysisCore.ContextNodeBase theCustomRecognizer)
{
if (null == baseInkAnalyzer)
{
throw new ArgumentNullException("baseInkAnalyzer");
}
if (null == theStroke)
{
throw new ArgumentNullException("theStroke");
}
if (null == theCustomRecognizer)
{
throw new ArgumentNullException("theCustomRecognizer");
}
if (System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.CustomRecognizer
!= theCustomRecognizer.Type)
{
throw new ArgumentException(
"The context node is not a custom recognizer node.",
"theCustomRecognizer");
}
if (null == baseInkAnalyzer.FindNode(theCustomRecognizer.Id))
{
throw new ArgumentException(
"The custom recognizer node is not attached to the ink analyzer.");
}
System.Windows.Ink.AnalysisCore.ContextNodeBase result =
baseInkAnalyzer.AddStrokeToCustomRecognizer(
theStroke.Id, theStroke.GetPacketData(),
theStroke.PacketDescription, theCustomRecognizer);
return result;
}
Plateformes
Windows Vista, Windows XP SP2, Windows Server 2003
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Informations de version
.NET Framework
Pris en charge dans : 3.0