Condividi tramite


Classe InkWordNode

Aggiornamento: novembre 2007

Rappresenta un oggetto ContextNode per un insieme di tratti che costituisce un raggruppamento logico utilizzato per formare una parola riconoscibile.

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

Sintassi

'Dichiarazione
Public NotInheritable Class InkWordNode _
    Inherits ContextNode
'Utilizzo
Dim instance As InkWordNode
public sealed class InkWordNode : ContextNode
public ref class InkWordNode sealed : public ContextNode
public final class InkWordNode extends ContextNode
public final class InkWordNode extends ContextNode

Note

Un oggetto InkWordNode non può contenere elementi figlio.

Esempi

Nell'esempio seguente viene eseguito il ciclo in tutti gli oggetti InkWordNode di un oggetto InkAnalyzer, theInkAnalyzer, quindi vengono disegnate le linee che mostrano il rettangolo di delimitazione ruotato, l'ascendente, il discendente, la linea mediana e la linea di base. Le linee vengono disegnate su un oggetto Panel, theNotesPanel.

    Dim panelGraphics As Graphics = theNotesPanel.CreateGraphics()
    Dim theRenderer As Renderer = theInkCollector.Renderer

    ' Loop through all of the ink words
    Dim inkWords As ContextNodeCollection = _
        theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.InkWord)
    Dim inkWord As InkWordNode
    For Each inkWord In inkWords
        ' Show rotated bounding box in blue
        ' Convert corners to pixel coordinates
        Dim corners As Point() = inkWord.GetRotatedBoundingBox()
        theRenderer.InkSpaceToPixel(panelGraphics, corners)
        ' Draw the rectangle
        panelGraphics.DrawPolygon(New Pen(Color.Blue), corners)

        ' Show the ascender line in green
        Dim ascenderPoints As Point() = inkWord.GetAscender()
        ' Convert to pixel coordinates
        theRenderer.InkSpaceToPixel(panelGraphics, ascenderPoints)
        panelGraphics.DrawLines(New Pen(Color.Green), ascenderPoints)

        ' Show the baseline in purple
        Dim basePoints As Point() = inkWord.GetBaseline()
        ' Convert to pixel coordinates
        theRenderer.InkSpaceToPixel(panelGraphics, basePoints)
        panelGraphics.DrawLines(New Pen(Color.Purple), basePoints)

        ' Show the descender line in yellow
        Dim descenderPoints As Point() = inkWord.GetDescender()
        ' Convert to pixel coordinates
        theRenderer.InkSpaceToPixel(panelGraphics, descenderPoints)
        panelGraphics.DrawLines(New Pen(Color.Yellow), descenderPoints)

        ' Show the mid line in brown
        Dim midlinePoints As Point() = inkWord.GetMidline()
        ' Convert to pixel coordinates
        theRenderer.InkSpaceToPixel(panelGraphics, midlinePoints)
        panelGraphics.DrawLines(New Pen(Color.Brown), midlinePoints)
    Next inkWord

    panelGraphics.Dispose()

End Sub 'inkWordMenuItem_Click
            Graphics panelGraphics = theNotesPanel.CreateGraphics();
            Renderer theRenderer = theInkCollector.Renderer;

            // Loop through all of the ink words
            ContextNodeCollection inkWords =
                theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.InkWord);
            foreach (InkWordNode inkWord in inkWords)
            {
                // Show rotated bounding box in blue
                // Convert corners to pixel coordinates
                Point[] corners = inkWord.GetRotatedBoundingBox();
                theRenderer.InkSpaceToPixel(panelGraphics, ref corners);
                // Draw the rectangle
                panelGraphics.DrawPolygon(new Pen(Color.Blue), corners);

                // Show the ascender line in green
                Point[] ascenderPoints = inkWord.GetAscender();
                // Convert to pixel coordinates
                theRenderer.InkSpaceToPixel(panelGraphics, ref ascenderPoints);
                panelGraphics.DrawLines(new Pen(Color.Green), ascenderPoints);

                // Show the baseline in purple
                Point[] basePoints = inkWord.GetBaseline();
                // Convert to pixel coordinates
                theRenderer.InkSpaceToPixel(panelGraphics, ref basePoints);
                panelGraphics.DrawLines(new Pen(Color.Purple), basePoints);

                // Show the descender line in yellow
                Point[] descenderPoints = inkWord.GetDescender();
                // Convert to pixel coordinates
                theRenderer.InkSpaceToPixel(panelGraphics, ref descenderPoints);
                panelGraphics.DrawLines(new Pen(Color.Yellow), descenderPoints);

                // Show the mid line in brown
                Point[] midlinePoints = inkWord.GetMidline();
                // Convert to pixel coordinates
                theRenderer.InkSpaceToPixel(panelGraphics, ref midlinePoints);
                panelGraphics.DrawLines(new Pen(Color.Brown), midlinePoints);
            }

            panelGraphics.Dispose();

Gerarchia di ereditarietà

System.Object
  Microsoft.Ink.ContextNode
    Microsoft.Ink.InkWordNode

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 InkWordNode

Spazio dei nomi Microsoft.Ink