Renderer.Draw (Método) (Graphics, Strokes)

Actualización: noviembre 2007

Dibuja la colección Strokes en la superficie Graphics especificada.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink (en Microsoft.Ink.dll)

Sintaxis

'Declaración
Public Sub Draw ( _
    g As Graphics, _
    strokes As Strokes _
)
'Uso
Dim instance As Renderer
Dim g As Graphics
Dim strokes As Strokes

instance.Draw(g, strokes)
public void Draw(
    Graphics g,
    Strokes strokes
)
public:
void Draw(
    Graphics^ g, 
    Strokes^ strokes
)
public void Draw(
    Graphics g,
    Strokes strokes
)
public function Draw(
    g : Graphics, 
    strokes : Strokes
)

Parámetros

Comentarios

Nota

Siempre que sea posible, utilice la sobrecarga adecuada que acepta un objeto Graphics en lugar de utilizar una que acepte IntPtr.

El ancho de la pluma se ajusta según corresponda, en función de cómo se utilice el método SetViewTransform. Concretamente, el ancho de la pluma se multiplica (o se escala) por la raíz cuadrada del determinante de la transformación de la vista.

Nota

Si no ha definido explícitamente el ancho de la pluma, se establecerá en 53 de forma predeterminada. Debe multiplicar el ancho de la pluma por la raíz cuadrada del determinante para obtener el cuadro de límite correcto. El alto y el ancho del cuadro de límite se amplían la mitad de esta cantidad en cada dirección.

Por ejemplo, supongamos que el ancho de la pluma es 53, la raíz cuadrada del factor determinante es 50 y el cuadro de límite es (0, 0, 1000, 1000). El ajuste del ancho de la pluma respecto al cuadro de límite en cada dirección se calcula con esta operación (53 * 50)/2, y la parte derecha e inferior se incrementan en uno. Esto genera un cuadro de límite representado de (-1325,-1325,2326,2326).

El objeto Renderer hace que el origen del área de visualización y de la ventana se establezcan forzosamente en 0,0. Cualquier valor existente se guarda y restaura, pero no lo utiliza el objeto Renderer. Para realizar el desplazamiento, utilice los métodos GetViewTransform y GetObjectTransform del objeto Renderer.

Ejemplos

En este ejemplo, toda la colección Strokes de un objeto Ink asociado a un objeto InkOverlay se muestra en un Panel distinto del panel asociado al propio objeto InkOverlay. Esto se consigue llamando al método Draw, pasando al parámetro g un objeto Graphics diferente al asociado al objeto InkOverlay.

' 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 graphics object for another panel
    Using g As Graphics = Me.panelForDraw.CreateGraphics()
        ' get a Renderer object. We could have used
        ' mInkOverlay.Renderer, this is another way
        Dim R As Renderer = New Renderer()
        ' draw the strokes
        R.Draw(g, allStrokes)
    End Using
End Using
// 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 graphics object for another panel
    using (Graphics g = this.panelForDraw.CreateGraphics())
    {
        // get a Renderer object. We could have used
        // mInkOverlay.Renderer, this is another way
        Renderer R = new Renderer();
        // draw the strokes
        R.Draw(g, allStrokes);
    }
}

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

Renderer (Clase)

Renderer (Miembros)

Draw (Sobrecarga)

Microsoft.Ink (Espacio de nombres)

Renderer.SetViewTransform

DrawingAttributes

Strokes

Stroke