Compartir a través de


Utilizar la transformación de coordenadas universales

Actualización: noviembre 2007

La transformación de coordenadas universales es una propiedad de la clase Graphics. Los números que especifican la transformación de coordenadas universales están almacenados en un objeto Matrix que representa una matriz de 3x3. Las clases Matrix yGraphics tienen varios métodos para establecer los números en la matriz de transformación de coordenadas universales.

Tipos diferente de transformaciones

En el ejemplo siguiente, el código crea primero un rectángulo de 50x50 y lo sitúa en el origen (0, 0). El origen está en la esquina superior izquierda del área de cliente.

Dim rect As New Rectangle(0, 0, 50, 50)
Dim pen As New Pen(Color.FromArgb(128, 200, 0, 200), 2)
e.Graphics.DrawRectangle(pen, rect)

Rectangle rect = new Rectangle(0, 0, 50, 50);
Pen pen = new Pen(Color.FromArgb(128, 200, 0, 200), 2);
e.Graphics.DrawRectangle(pen, rect);

El código siguiente aplica una transformación de ajuste de tamaño que expande el rectángulo por un factor de 1,75 en la dirección del eje x y lo encoge por un factor de 0,5 en la dirección del eje y:

e.Graphics.ScaleTransform(1.75F, 0.5F)
e.Graphics.DrawRectangle(pen, rect)

e.Graphics.ScaleTransform(1.75f, 0.5f);
e.Graphics.DrawRectangle(pen, rect); 

El resultado es un rectángulo que es más largo en la dirección x y más corto en la dirección y que el original.

Para girar el rectángulo en lugar de cambiar su tamaño, use el código siguiente:

e.Graphics.ResetTransform()
e.Graphics.RotateTransform(28) ' 28 degrees
e.Graphics.DrawRectangle(pen, rect)

e.Graphics.ResetTransform();
e.Graphics.RotateTransform(28); // 28 degrees
e.Graphics.DrawRectangle(pen, rect);

Para trasladar el rectángulo, use el código siguiente:

e.Graphics.ResetTransform()
e.Graphics.TranslateTransform(150, 150)
e.Graphics.DrawRectangle(pen, rect)

e.Graphics.ResetTransform();
e.Graphics.TranslateTransform(150, 150);
e.Graphics.DrawRectangle(pen, rect);

Vea también

Referencia

Matrix

Otros recursos

Sistemas de coordenadas y transformaciones

Usar transformaciones en la interfaz GDI+ administrada