Stroke.Transform (Método) (Matrix, Boolean)
Actualización: noviembre 2007
Aplica una transformación lineal a un objeto Stroke, con la posibilidad de aplicar la transformación 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, _
applyOnPenWidth As Boolean _
)
'Uso
Dim instance As Stroke
Dim inkTransform As Matrix
Dim applyOnPenWidth As Boolean
instance.Transform(inkTransform, applyOnPenWidth)
public void Transform(
Matrix inkTransform,
bool applyOnPenWidth
)
public:
void Transform(
Matrix^ inkTransform,
bool applyOnPenWidth
)
public void Transform(
Matrix inkTransform,
boolean applyOnPenWidth
)
public function Transform(
inkTransform : Matrix,
applyOnPenWidth : boolean
)
Parámetros
- inkTransform
Tipo: System.Drawing.Drawing2D.Matrix
TransformaciónSystem.Drawing.Drawing2D.Matrix que se debe usar en el objeto Stroke.
- applyOnPenWidth
Tipo: System.Boolean
Valor booleano que indica si se debe aplicar la transformación al ancho de la entrada manuscrita de la propiedad DrawingAttributes del objeto Stroke.Valor
Significado
true
La transformación se aplica a los puntos y al ancho de la pluma.
false
La transformación solamente se aplica a los puntos.
Comentarios
La transformación lineal puede representar el ajuste de escala, la rotación, la traslación y combinaciones de transformaciones.
Si se ajusta la escala del ancho de la pluma de forma adecuada para la transformación, el ancho de la pluma dibujado se calcula multiplicando el ancho de la pluma especificado (o el valor predeterminado de 53, si no se ha especificado) por la raíz cuadrada del determinante de la transformación.
Ejemplos
En este ejemplo de C# se ajusta la escala de un objeto Stroke, theStroke, mediante un factor de dos alrededor del centro del cuadro de límite del trazo. La escala del ancho de la entrada manuscrita también se ajusta mediante un factor de dos.
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);
// Scale by factor of 2
inkTransform.Scale(2.0F, 2.0F);
// Translate back
inkTransform.Translate(-center.X, -center.Y);
// Transform stroke
theStroke.Transform(inkTransform, true);
En este ejemplo de Microsoft Visual Basic .NET se ajusta la escala de un objeto Stroke, theStroke, mediante un factor de dos alrededor del centro del cuadro de límite del trazo. La escala del ancho de la entrada manuscrita también se ajusta mediante un factor de dos.
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)
'Scale by a factor of 2
inkTransform.Scale(2.0F, 2.0F)
'Translate back
inkTransform.Translate(-center.X, -center.Y)
'Transform stroke
theStroke.Transform(inkTransform, True)
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