Partager via


ImageNode.SetLocation, méthode

Mise à jour : November 2007

Définit l'emplacement de l'image non manuscrite sur le document d'application.

Espace de noms :  Microsoft.Ink
Assembly :  Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.dll)

Syntaxe

'Déclaration
Public Sub SetLocation ( _
    location As AnalysisRegion _
)
'Utilisation
Dim instance As ImageNode
Dim location As AnalysisRegion

instance.SetLocation(location)
public void SetLocation(
    AnalysisRegion location
)
public:
void SetLocation(
    AnalysisRegion^ location
)
public void SetLocation(
    AnalysisRegion location
)
public function SetLocation(
    location : AnalysisRegion
)

Paramètres

  • location
    Type : Microsoft.Ink.AnalysisRegion
    L'emplacement où l'image non manuscrite est sur le document d'application, dans les coordonnées d'entrée manuscrite.

Notes

L'emplacement est défini dans les coordonnées d'entrée manuscrite.

Exemples

L'exemple suivant ajoute un objet ImageNode à InkAnalyzer, theInkAnalyzer, pour un contrôle PictureBox, thePictureBox (page pouvant être en anglais). L'emplacement du contrôle PictureBox (page pouvant être en anglais) est converti de coordonnées en pixels en coordonnées d'entrée manuscrite. La propriété Image (page pouvant être en anglais) de PictureBox (page pouvant être en anglais) remplace la propriété Data de l'objet ImageNode.

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

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

Voir aussi

Référence

ImageNode, classe

Membres ImageNode

Microsoft.Ink, espace de noms