Compartir a través de


Stroke.Transform (Método) (Matrix)

Actualización: noviembre 2007

Aplica una transformación lineal a un objeto Stroke, sin que afecte al ancho de la pluma.

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

Sintaxis

'Declaración
Public Sub Transform ( _
    inkTransform As Matrix _
)
'Uso
Dim instance As Stroke
Dim inkTransform As Matrix

instance.Transform(inkTransform)
public void Transform(
    Matrix inkTransform
)
public:
void Transform(
    Matrix^ inkTransform
)
public void Transform(
    Matrix inkTransform
)
public function Transform(
    inkTransform : Matrix
)

Parámetros

Comentarios

La transformación se aplica a los puntos, pero no al ancho de la pluma. Para establecer un valor que incluya el ancho de la pluma en la transformación, utilice la sobrecarga Transform(Matrix, Boolean) de este método.

La transformación lineal puede representar el ajuste de escala, la rotación, la traslación y combinaciones de transformaciones.

Ejemplos

En este ejemplo de C# se gira un objeto Stroke, theStroke, 180 grados alrededor del centro del cuadro de límite del objeto Stroke.

using System.Drawing.Drawing2D;
//...
Matrix inkTransform = new Matrix();
Rectangle inkBounds = theStroke.GetBoundingBox();
PointF center = new PointF(0.5f * (inkBounds.Left + inkBounds.Right),
                           0.5f * (inkBounds.Top + inkBounds.Bottom));
// Translate to center of bounding box
inkTransform.Translate(center.X, center.Y);
// Rotate by 180 degrees
inkTransform.Rotate(180f);
// Translate back
inkTransform.Translate(-center.X, -center.Y);
// Transform stroke
theStroke.Transform(inkTransform);

En este ejemplo de Microsoft Visual Basic .NET se gira un objeto Stroke, theStroke, 180 grados alrededor del centro del cuadro de límite del objeto Stroke.

Imports System.Drawing.Drawing2D
'...
Dim inkTransform As New Matrix()
Dim inkBounds As Rectangle = theStroke.GetBoundingBox()
Dim center As New PointF(0.5F * (inkBounds.Left + inkBounds.Right), _
                         0.5F * (inkBounds.Top + inkBounds.Bottom))
'Translate to center of bounding box
inkTransform.Translate(center.X, center.Y)
'Rotate by 180 degrees
inkTransform.Rotate(180.0F)
'Translate back
inkTransform.Translate(-center.X, -center.Y)
'Transform stroke
theStroke.Transform(inkTransform)
n

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

Stroke (Clase)

Stroke (Miembros)

Transform (Sobrecarga)

Microsoft.Ink (Espacio de nombres)

Transform

Stroke.Move

Stroke.Rotate

Strokes.Transform