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