Renderer.Draw-Methode (Graphics, Stroke)
Zeichnet das Stroke-Objekt auf der angegebenen Graphics-Oberfläche.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Sub Draw ( _
g As Graphics, _
stroke As Stroke _
)
'Usage
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
)
Parameter
- g
Typ: System.Drawing.Graphics
Das Graphics-Objekt, mit dem gezeichnet werden soll.
- stroke
Typ: Microsoft.Ink.Stroke
Das zu zeichnende Stroke-Objekt.
Hinweise
Hinweis
Verwenden Sie nach Möglichkeit statt einer Überladung, die ein IntPtr akzeptiert, die entsprechende Überladung, die ein Graphics-Objekt akzeptiert.
Die Stiftbreite wird entsprechend der Verwendung der SetViewTransform-Methode angepasst. Insbesondere wird die Stiftbreite mit der Quadratwurzel der Determinanten der Ansichtstransformation multipliziert (bzw. skaliert).
Hinweis
Wenn die Stiftbreite nicht explizit festgelegt wurde, beträgt sie standardmäßig 53. Sie müssen die Stiftbreite mit der Quadratwurzel der Determinanten multiplizieren, um das ordnungsgemäße umgebende Rechteck zu erhalten. Die Höhe und Breite des umgebenden Rechtecks werden in jede Richtung um die Hälfte dieses Betrags erweitert.
Angenommen, die Stiftbreite beträgt 53, die Quadratwurzel der Determinante ist 50, und das umgebende Rechteck ist (0,0,1000,1000). Die Anpassung der Stiftbreite an das umgebende Rechteck in jede Richtung wird als (53*50)/2 berechnet, und die rechte und untere Seite werden um eins erhöht. Dies führt zu dem gerenderten umgebenden Rechteck (-1325, -1325, 2326, 2326).
Das Renderer-Objekt erzwingt, dass der Ursprung von Viewports und Fenstern auf 0,0 festgelegt wird. Alle vorhandenen Einstellungen werden gespeichert und wiederhergestellt, jedoch nicht vom Renderer verwendet. Um einen Bildlauf auszuführen, verwenden Sie die GetViewTransform-Methode und die GetObjectTransform-Methode des Renderer-Objekts.
Beispiele
In diesem Beispiel wird ein Stroke-Objekt in einem Ink-Objekt erstellt. Der Strich führt von der linken oberen Ecke des Freihandeingabebereichs zur unteren rechten Ecke. Nach der Erstellung wird der Strich in dem Panel, das dem InkOverlay-Objekt zugeordnet ist, sowie in einem anderen Bereich angezeigt. Dies wird durch zweimaliges Aufrufen der Draw-Methode erreicht, die verschiedene Graphics-Objekte an den g-Parameter übergibt.
' 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);
}
}
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