Condividi tramite


Metodo ImageNode.SetLocation

Aggiornamento: novembre 2007

Imposta la posizione dell'immagine diversa dall'input penna nel documento dell'applicazione.

Spazio dei nomi:  System.Windows.Ink
Assembly:  IAWinFX (in IAWinFX.dll)

Sintassi

'Dichiarazione
Public Sub SetLocation ( _
    location As AnalysisRegion _
)
'Utilizzo
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
)

Parametri

Note

La posizione viene impostata in coordinate di input penna.

Esempi

Nell'esempio seguente viene aggiunto un oggetto ImageNode a un oggetto InkAnalyzer, theInkAnalyzer, per un oggetto Image denominato theImage. Viene impostata la posizione dell'oggetto ImageNode sulla posizione dell'oggetto Image e la proprietà Data sulla proprietà Source dell'oggetto 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();
}


Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

ImageNode Classe

Membri ImageNode

Spazio dei nomi System.Windows.Ink