Renderer.Draw, méthode (Bitmap, Stroke, DrawingAttributes)
Mise à jour : November 2007
Dessine le Stroke sur le Bitmap spécifié avec le DrawingAttributes spécifié.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink (dans Microsoft.Ink.dll)
Syntaxe
'Déclaration
Public Sub Draw ( _
destinationBitmap As Bitmap, _
stroke As Stroke, _
da As DrawingAttributes _
)
'Utilisation
Dim instance As Renderer
Dim destinationBitmap As Bitmap
Dim stroke As Stroke
Dim da As DrawingAttributes
instance.Draw(destinationBitmap, stroke, _
da)
public void Draw(
Bitmap destinationBitmap,
Stroke stroke,
DrawingAttributes da
)
public:
void Draw(
Bitmap^ destinationBitmap,
Stroke^ stroke,
DrawingAttributes^ da
)
public void Draw(
Bitmap destinationBitmap,
Stroke stroke,
DrawingAttributes da
)
public function Draw(
destinationBitmap : Bitmap,
stroke : Stroke,
da : DrawingAttributes
)
Paramètres
- destinationBitmap
Type : System.Drawing.Bitmap
Bitmap spécifié sur lequel dessiner.
- stroke
Type : Microsoft.Ink.Stroke
Stroke à dessiner.
- da
Type : Microsoft.Ink.DrawingAttributes
DrawingAttributes à utiliser.
Exemples
Dans cet exemple, la collection Strokes complète d'un objet Ink associé à un objet InkOverlay est placée sur une image bitmap chargée à partir d'un fichier.
De plus, lors du dessin des objets Stroke sur l'image bitmap, un objet DrawingAttributes modifié est utilisé. Des modifications sont appliquées ; elles inversent la couleur du trait et doublent sa largeur. L'objet DrawingAttributes modifié est ensuite passé à la méthode Draw via le paramètre da. Cela n'affecte pas les DrawingAttributes des traits d'origine.
L'appel à la méthode Draw n'affiche pas l'image et les traits. À la place, il fusionne les données de rendu du trait avec les données d'image bitmap pour préparer l'affichage. L'image bitmap (modifiée avec les données de rendu du trait) devient visible via un appel à la méthode DrawImage de l'objet Graphics(page pouvant être en anglais) associé à un objet Panel(page pouvant être en anglais).
' get the Bitmap object loaded from a file
' scale the image to match the panel size
Dim bgImage As Bitmap = New Bitmap(New Bitmap(imageFileName), Me.panelForDraw.Size)
' Access to the Ink.Strokes property returns a copy of the Strokes object.
' This copy must be implicitly (via using statement) or explicitly
' disposed of in order to avoid a memory leak.
Using allStrokes As Strokes = mInkOverlay.Ink.Strokes
' get a Renderer object. We could have used
' mInkOverlay.Renderer, this is another way
Dim R As Renderer = New Renderer()
' traverse the stroke collection
For Each oneStroke As Stroke In allStrokes
Dim da As DrawingAttributes = oneStroke.DrawingAttributes.Clone()
' invert the stroke color
Dim cR As Byte = Not da.Color.R
Dim cG As Byte = Not da.Color.G
Dim cB As Byte = Not da.Color.B
da.Color = Color.FromArgb(da.Color.A, cR, cG, cB)
' double the stroke width
da.Width *= 2
' draw the stroke
R.Draw(bgImage, oneStroke, da)
Next
End Using
' now display the bitmap (with the strokes) on the panel
Using g As Graphics = Me.panelForDraw.CreateGraphics()
g.DrawImage(bgImage, 0, 0)
End Using
bgImage.Dispose()
// get the Bitmap object loaded from a file
// scale the image to match the panel size
Bitmap bgImage = new Bitmap(new Bitmap(imageFileName), this.panelForDraw.Size);
// Access to the Ink.Strokes property returns a copy of the Strokes object.
// This copy must be implicitly (via using statement) or explicitly
// disposed of in order to avoid a memory leak.
using (Strokes allStrokes = mInkOverlay.Ink.Strokes)
{
// get a Renderer object. We could have used
// mInkOverlay.Renderer, this is another way
Renderer R = new Renderer();
// traverse the stroke collection
foreach (Stroke oneStroke in allStrokes)
{
DrawingAttributes da = oneStroke.DrawingAttributes.Clone();
// invert the stroke color
byte cR = (byte)~(da.Color.R);
byte cG = (byte)~(da.Color.G);
byte cB = (byte)~(da.Color.B);
da.Color = Color.FromArgb(da.Color.A, cR, cG, cB);
// double the stroke width
da.Width *= 2;
// draw the stroke
R.Draw(bgImage, oneStroke, da);
}
}
// now display the bitmap (with the strokes) on the panel
using (Graphics g = this.panelForDraw.CreateGraphics())
{
g.DrawImage(bgImage, 0, 0);
}
bgImage.Dispose();
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