Freigeben über


ImageNode-Klasse

Stellt einen ContextNode für einen zweidimensionalen Bereich dar, in dem alle Nicht-Freihandbilder in der Anwendung vorhanden sind.

Namespace:  System.Windows.Ink
Assembly:  IAWinFX (in IAWinFX.dll)

Syntax

'Declaration
Public NotInheritable Class ImageNode _
    Inherits ContextNode
'Usage
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

Hinweise

Der InkAnalyzer erzeugt keine ImageNode-Objekte. Die Anwendung verwendet die CreateSubNode(ContextNodeType)-Methode, um die ImageNode-Objekte der Kontextknotenstruktur hinzuzufügen. Wenn der Zustand des Analysemoduls beibehalten wird, können diese Knoten ebenfalls beibehalten werden.

Künftige Erkennungsmodule verwenden unter Umständen die von den ImageNode-Objekten definierten Bereiche, um festzustellen, ob das Nicht-Freihandbild mit Freihandanmerkungen versehen ist.

Ein ImageNode kann keine untergeordneten Elemente haben.

Beispiele

Im folgenden Beispiel wird dem InkAnalyzertheInkAnalyzer für ein Image mit dem Namen theImage ein ImageNode hinzugefügt. Legt die Position der ImageNode auf die Position des Image und die Data-Eigenschaft auf die Source-Eigenschaft des Image fest.

' 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();
}


Vererbungshierarchie

System.Object
  System.Windows.Ink.ContextNode
    System.Windows.Ink.ImageNode

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

ImageNode-Member

System.Windows.Ink-Namespace

System.Windows.Ink.TextWordNode