Freigeben über


ImageNode-Klasse

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

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.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 ContextNode.CreateSubNode-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 InkAnalyzer mit dem Namen theInkAnalyzer, für das PictureBox-Steuerelement thePictureBox ein ImageNode-Objekt hinzugefügt. Konvertiert die Position des PictureBox-Steuerelements von Pixelkoordinaten in Freihandkoordinaten. Legt die Data-Eigenschaft des ImageNode-Objekts auf die Image-Eigenschaft der PictureBox fest.

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

Vererbungshierarchie

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

Microsoft.Ink-Namespace

Microsoft.Ink.TextWordNode