Condividi tramite


Classe ImageNode

Aggiornamento: novembre 2007

Rappresenta un oggetto ContextNode per un'area bidimensionale in cui qualsiasi immagine diversa dall'input penna può esistere nell'applicazione.

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

Sintassi

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

Note

InkAnalyzer non produce oggetti ImageNode. L'applicazione utilizza il metodo ContextNode.CreateSubNode per aggiungere gli oggetti ImageNode alla struttura ad albero del nodo di contesto. Se lo stato dell'analizzatore viene salvato in modo permanente, anche questi nodi possono essere salvati in modo permanente.

I futuri sistemi di riconoscimento potranno utilizzare le aree definite dagli oggetti ImageNode per determinare se l'input penna annota l'immagine diversa dall'input penna.

Un oggetto ImageNode non può disporre di elementi figlio.

Esempi

Nell'esempio seguente viene aggiunto un oggetto ImageNode a un oggetto InkAnalyzer, theInkAnalyzer, per un controllo PictureBox, thePictureBox. Viene convertita la posizione del controllo PictureBox da coordinate pixel a coordinate di input penna. Viene impostata la proprietà Data dell'oggetto ImageNode come proprietà Image dell'oggetto PictureBox.

' Add image node
Dim pictureNode As ImageNode = _
    theInkAnalyzer.RootNode.CreateSubNode(Microsoft.Ink.ContextNodeType.Image)

' Convert pixel coordinates to pixel coordinates
Dim pictureTopLeft As Point = thePictureBox.Location
Dim pictureBottomRight As New Point(thePictureBox.Right, thePictureBox.Bottom)
Dim panelGraphics As Graphics = theNotesPanel.CreateGraphics()
theInkCollector.Renderer.PixelToInkSpace(panelGraphics, pictureTopLeft)
theInkCollector.Renderer.PixelToInkSpace(panelGraphics, pictureBottomRight)
panelGraphics.Dispose()

' Set the location of the image node
pictureNode.SetLocation(New AnalysisRegion(New Rectangle(pictureTopLeft.X, _
    pictureTopLeft.Y, pictureBottomRight.X - pictureTopLeft.X, _
    pictureBottomRight.Y - pictureTopLeft.Y)))

' Serialize the image to a byte array and set ImageNode.Data to the array.
Using stream As System.IO.MemoryStream = New System.IO.MemoryStream()

    thePictureBox.Image.Save(stream, thePictureBox.Image.RawFormat)
    pictureNode.Data = stream.ToArray()
End Using
// Add image node
ImageNode pictureNode = (ImageNode)
    theInkAnalyzer.RootNode.CreateSubNode(Microsoft.Ink.ContextNodeType.Image);

// Convert pixel coordinates to pixel coordinates
Point pictureTopLeft = thePictureBox.Location;
Point pictureBottomRight = new Point(thePictureBox.Right,
    thePictureBox.Bottom);
Graphics panelGraphics = theNotesPanel.CreateGraphics();
theInkCollector.Renderer.PixelToInkSpace(panelGraphics, ref pictureTopLeft);
theInkCollector.Renderer.PixelToInkSpace(panelGraphics, ref pictureBottomRight);
panelGraphics.Dispose();

// Set the location of the image node
pictureNode.SetLocation(new AnalysisRegion(new Rectangle(pictureTopLeft.X,
    pictureTopLeft.Y, pictureBottomRight.X - pictureTopLeft.X,
    pictureBottomRight.Y - pictureTopLeft.Y)));

// Serialize the image to a byte array and set ImageNode.Data to the array.
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
    thePictureBox.Image.Save(stream, thePictureBox.Image.RawFormat);
    pictureNode.Data = stream.ToArray();
}

Gerarchia di ereditarietà

System.Object
  Microsoft.Ink.ContextNode
    Microsoft.Ink.ImageNode

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 ImageNode

Spazio dei nomi Microsoft.Ink

Microsoft.Ink.TextWordNode