Metodo Renderer.Draw (Graphics, Stroke)
Aggiornamento: novembre 2007
Disegna l'oggetto Stroke sulla superficie dell'oggetto Graphics specificato.
Spazio dei nomi: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Sintassi
'Dichiarazione
Public Sub Draw ( _
g As Graphics, _
stroke As Stroke _
)
'Utilizzo
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
)
Parametri
- g
Tipo: System.Drawing.Graphics
Oggetto Graphics con cui disegnare.
- stroke
Tipo: Microsoft.Ink.Stroke
Oggetto Stroke da disegnare.
Note
Nota
Utilizzare l'overload appropriato che accetta un oggetto Graphics anziché quello che accetta un oggetto IntPtr, quando possibile.
Lo spessore della penna viene regolato in modo appropriato, in base alla modalità di utilizzo del metodo SetViewTransform. In particolare, lo spessore della penna viene moltiplicato (o ridimensionato) per la radice quadrata del determinante della trasformazione della visualizzazione.
Nota
Se lo spessore della penna non viene impostato in modo esplicito, il valore predefinito è 53. È necessario moltiplicare lo spessore della penna per la radice quadrata del determinante per produrre il riquadro corretto. L'altezza e la larghezza del riquadro sono espanse della metà di questa quantità in ogni direzione.
Ad esempio, si consideri che lo spessore della penna sia 53, la radice quadrata del determinante sia 50 e il riquadro sia (0, 0, 1000, 1000). La regolazione dello spessore della penna nel riquadro in ogni direzione viene calcolata come (53 * 50)/2 e i lati destro e inferiore vengono incrementati di uno. Il risultato è un riquadro di cui è stato eseguito il rendering di (-1325,-1325,2326,2326).
L'oggetto Renderer impone l'impostazione delle origini del riquadro di visualizzazione e della finestra su 0,0. Qualsiasi impostazione esistente viene salvata e ripristinata, ma non viene utilizzata da Renderer. Per lo scorrimento, utilizzare i metodi GetViewTransform e GetObjectTransform dell'oggetto Renderer.
Esempi
In questo esempio viene creato un oggetto Stroke in un oggetto Ink. Il tratto procede dall'angolo superiore sinistro dell'area di input penna all'angolo inferiore destro. Una volta creato, il tratto viene visualizzato nell'oggetto Panel associato all'oggetto InkOverlay e anche in un altro pannello. A tale scopo è possibile chiamare due volte il metodo Draw, passando oggetti Graphics diversi al parametro 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);
}
}
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