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