ImageNode, classe
Mise à jour : November 2007
Représente un ContextNode pour une région à deux dimensions où les images non manuscrites peuvent se trouver dans l'application.
Espace de noms : System.Windows.Ink
Assembly : IAWinFX (dans IAWinFX.dll)
Syntaxe
'Déclaration
Public NotInheritable Class ImageNode _
Inherits ContextNode
'Utilisation
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
Notes
Le InkAnalyzer ne produit pas d'objets ImageNode. L'application utilise la méthode CreateSubNode(ContextNodeType) pour ajouter les objets ImageNode à l'arborescence des nœuds de contexte. Si l'état de l'analyseur est persistant, ces nœuds peuvent également être persistants.
Les prochains modules de reconnaissance pourront utiliser les régions définies par les objets ImageNode pour déterminer si l'image non manuscrite est annotée avec l'entrée manuscrite.
Un ImageNode ne peut pas avoir d'enfants.
Exemples
L'exemple suivant ajoute un ImageNode à un InkAnalyzer, theInkAnalyzer, pour une Image appelée theImage. L'emplacement de ImageNode a la valeur de l'emplacement de Image et la propriété Data a la valeur de la propriété Source de 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();
}
Hiérarchie d'héritage
System.Object
System.Windows.Ink.ContextNode
System.Windows.Ink.ImageNode
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plateformes
Windows Vista
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