DiGrande.it
Braille y Tecnologías para la Discapacidad Visual

GraphicTransform- Modifica los coeficientes de transformación del gráfico

Modifica los coeficientes de transformación geométrica aplicados al sistema de coordenadas del gráfico durante la renderización de las figuras.

- GraphicTransform(TX, TY)

Parámetros:

- TX (float): coeficiente de transformación en el eje horizontal (X).

- TY (float): coeficiente de transformación en el eje vertical (Y).

Descripción:

La instrucción `GraphicTransform` define los factores de transformación aplicados a las coordenadas gráficas antes del dibujo efectivo de las figuras. Esta función permite alterar el comportamiento geométrico de todo el gráfico interviniendo directamente en los ejes X e Y, permitiendo: escalado horizontal; escalado vertical; inversión especular (mirroring); deformación proporcional o no proporcional; volteo del dibujo.

Los valores de transformación se aplican multiplicando las coordenadas a lo largo de cada eje. También se calcula un offset automático que permite mantener el dibujo dentro del área gráfica visible. La instrucción es independiente de GraphicScale y GraphicOffset.

Valores estándar:

- TX = 1: ninguna transformación horizontal;

- TY = 1: ninguna transformación vertical.

El valor (1,1) representa, por lo tanto, la configuración neutra predefinida.

Efectos de los valores:

Valores mayores de 1: Amplían el gráfico a lo largo del eje correspondiente.

Valores entre 0 y 1: Reducen el gráfico a lo largo del eje correspondiente.

Valores negativos: Invierten el sentido del eje, produciendo un efecto especular.

Constantes asociadas:

Los valores actuales de la transformación están disponibles mediante dos constantes: TransformX y TransformY. Estas constantes permiten leer o reutilizar de forma dinámica la configuración actual.

Ejemplos:

Dibujar dos líneas especulares

Line(0,0, 20,50)

GraphicTransform(-1,1)

Line(0,0, 20,50)

La segunda línea se reflejará con respecto al eje horizontal.

Comprimir verticalmente un rectángulo

GraphicTransform(1,0.5)

Rectangle(10,10, 40,30)

La altura de la figura se reducirá un 50%.

Voltear verticalmente una figura

GraphicTransform(1,-1)

Triangle(30,30, 50,60, 10,60)

El triángulo se renderizará con inversión vertical con respecto al origen.

Agrandar horizontalmente

GraphicTransform(2,1)

Ellipse(20,20,15,10)

La elipse aparecerá extendida a lo largo del eje X.