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:  System.Windows.Ink
Assembly:  IAWinFX (in IAWinFX.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 CreateSubNode(ContextNodeType) per aggiungere gli oggetti ImageNode alla struttura ad albero dei nodi 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 oggetto Image denominato theImage. Viene impostata la posizione dell'oggetto ImageNode sulla posizione dell'oggetto Image e la proprietà Data sulla proprietà Source dell'oggetto Image.

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

' Set the location of the image node
Dim imageTop As Double = InkCanvas.GetTop(theImage)
Dim imageLeft As Double = InkCanvas.GetLeft(theImage)

Dim imageBounds As New Rect(imageLeft, imageTop, theImage.Width, theImage.Height)
pictureNode.SetLocation(New AnalysisRegion(imageBounds))

' Serialize the image to a byte array and set ImageNode.Data to the array.
' theImage.Source is a BitmapImage.
Dim bmp As New BmpBitmapEncoder()
bmp.Frames.Add(BitmapFrame.Create(CType(theImage.Source, BitmapImage)))
Dim stream As New System.IO.MemoryStream()
Try
    bmp.Save(stream)
    pictureNode.Data = stream.ToArray()
Finally
    stream.Dispose()
End Try
// Add image node
ImageNode pictureNode = (ImageNode)
    theInkAnalyzer.RootNode.CreateSubNode(ContextNodeType.Image);

// Set the location of the image node
double imageTop = InkCanvas.GetTop(theImage);
double imageLeft = InkCanvas.GetLeft(theImage);

Rect imageBounds = new Rect(imageLeft, imageTop, theImage.Width, theImage.Height);
pictureNode.SetLocation(new AnalysisRegion(imageBounds));

// Serialize the image to a byte array and set ImageNode.Data to the array.
// theImage.Source is a BitmapImage.
BmpBitmapEncoder bmp = new BmpBitmapEncoder();
bmp.Frames.Add(BitmapFrame.Create((BitmapImage)theImage.Source));
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
    bmp.Save(stream);
    pictureNode.Data = stream.ToArray();
}


Gerarchia di ereditarietà

System.Object
  System.Windows.Ink.ContextNode
    System.Windows.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 System.Windows.Ink

System.Windows.Ink.TextWordNode