Partager via


Renderer.Draw, méthode (Graphics, Stroke)

Mise à jour : November 2007

Dessine l'objet Stroke sur la surface Graphics (page pouvant être en anglais) spécifiée.

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

Syntaxe

'Déclaration
Public Sub Draw ( _
    g As Graphics, _
    stroke As Stroke _
)
'Utilisation
Dim instance As Renderer
Dim g As Graphics
Dim stroke As Stroke

instance.Draw(g, stroke)
public void Draw(
    Graphics g,
    Stroke stroke
)
public:
void Draw(
    Graphics^ g, 
    Stroke^ stroke
)
public void Draw(
    Graphics g,
    Stroke stroke
)
public function Draw(
    g : Graphics, 
    stroke : Stroke
)

Paramètres

Notes

ms569828.alert_note(fr-fr,VS.90).gifRemarque :

Si possible, utilisez la surcharge appropriée qui accepte un objet Graphics (page pouvant être en anglais) plutôt que celle qui accepte un IntPtr (page pouvant être en anglais).

La largeur du stylet est ajustée en fonction de la façon dont vous utilisez la méthode SetViewTransform. Spécifiquement, la largeur du stylet est multipliée (ou a mise à l'échelle) par la racine carrée du déterminant de la transformation d'affichage.

ms569828.alert_note(fr-fr,VS.90).gifRemarque :

Si vous n'avez pas explicitement affecté de valeur à la largeur du stylet, la largeur par défaut est 53. Vous devez multiplier la largeur du stylet par la racine carrée du déterminant pour obtenir le cadre englobant approprié. La hauteur et la largeur du cadre englobant sont augmentées de la moitié de cette valeur dans chaque direction.

Par exemple, si la largeur du stylet est 53, la racine carrée du déterminant est 50 et le cadre englobant est (0, 0, 1000, 1000). Le réglage de la largeur du stylet au cadre englobant dans chaque direction est calculé de la façon suivante : (53 * 50) / 2 . Le côté droit et le bas sont incrémentés d'une unité. Un cadre englobant rendu de (-1325, -1325, 2326, 2326) est créé.

L'objet Renderer force l'affectation de la valeur 0,0 pour les origines des fenêtres d'affichage. Tous les paramètres existants sont enregistrés et restaurés, mais ils ne sont pas utilisés par le Renderer. Pour procéder au défilement, utilisez les méthodes GetViewTransform et GetObjectTransform de l'objet Renderer.

Exemples

Dans cet exemple, un objet Stroke est créé dans un objet Ink. Le trait est tracé depuis le coin supérieur gauche jusqu'au coin inférieur droit de la zone d'entrée manuscrite. Une fois créé, le trait est affiché dans le Panel (page pouvant être en anglais) associé à l'objet InkOverlay ainsi que sur un autre panneau. Pour ce faire, on appelle deux fois la méthode Draw, en passant différents objets Graphics (page pouvant être en anglais) au paramètre g.

' get the bottom right point of the client area for ink
' Note: InkOverlay.AttachedControl property must be set
Dim bottomRight As Point = New Point(mInkOverlay.AttachedControl.ClientSize)
Using g1 As Graphics = mInkOverlay.AttachedControl.CreateGraphics()
    ' convert to HIMETRIC units
    mInkOverlay.Renderer.PixelToInkSpace(g1, bottomRight)
    ' create the stroke
    Dim strokePoints As Point() = New Point(1) {New Point(0), bottomRight}
    Dim oneStroke As Stroke = mInkOverlay.Ink.CreateStroke(strokePoints)
    ' draw the stroke on the control attached to InkOverlay
    mInkOverlay.Renderer.Draw(g1, oneStroke)
    ' now draw the stroke on another control also
    Using g2 As Graphics = Me.panelForDraw.CreateGraphics()
        mInkOverlay.Renderer.Draw(g2, oneStroke)
    End Using
End Using
// get the bottom right point of the client area for ink
// Note: InkOverlay.AttachedControl property must be set
Point bottomRight = new Point(mInkOverlay.AttachedControl.ClientSize);
using (Graphics g1 = mInkOverlay.AttachedControl.CreateGraphics())
{
    // convert to HIMETRIC units
    mInkOverlay.Renderer.PixelToInkSpace(g1, ref bottomRight);
    // create the stroke
    Point[] strokePoints = new Point[2] { new Point(0), bottomRight };
    Stroke oneStroke = mInkOverlay.Ink.CreateStroke(strokePoints);
    // draw the stroke on the control attached to InkOverlay
    mInkOverlay.Renderer.Draw(g1, oneStroke);
    // now draw the stroke on another control also
    using (Graphics g2 = this.panelForDraw.CreateGraphics())
    {
        mInkOverlay.Renderer.Draw(g2, oneStroke);
    }
}

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

Renderer, classe

Membres Renderer

Draw, surcharge

Microsoft.Ink, espace de noms

Renderer.SetViewTransform

DrawingAttributes

Strokes

Stroke