Traslación Rotación y Escalación en Java 2D

Download Report

Transcript Traslación Rotación y Escalación en Java 2D

TRASLACIÓN
ROTACIÓN Y ESCALACIÓN
EN JAVA 2D
Miembros del Equipo
Edgar
Antonio Manjarrez Flores
Miguel
Aldo
Ángel Vera Ayala
López Pérez
Alejandro
Senén
López Uribe
Ramírez Ruiz
TRANSFORMACIÓN DE IMÁGENES EN
JAVA CON AFFINETRANSFORM
AffineTransform representa una transformación
afín en dos dimensiones, realiza una aplicación
lineal de coordenadas manteniendo el
paralelismo, la clase Graphics2d contiene un
AffineTransform al cual se le pueden aplicar
transformaciones directamente mediante los
métodos:
scale(double sx, double sy)
Transformación de escalación: ampliación o
reducción de todas las distancias a partir de un
punto fijo, donde sX y sy son los valores por los
cual serán escaladas las coordenadas en x,y.
 rotate(double theta)
Rotación de todos los puntos a partir de un centro
fijo, donde theta es el valor que representa el
ángulo de rotación en radianes.

rotate(double theta, double anchorx, double
anchory)
Aquí se indica un ángulo y un punto de origen a la
rotación.
 translate(double tx, double ty)
Desplazamiento de todos los puntos a una distancia
determinada, donde los valores tX y tY
representan la distancia de traslación en los ejes
x,y.

shear(double shx, double shy)
Distorsiona las imágenes desde las coordenadas
shx y shy representa el desplazamiento del objeto
sobre los ejes x,y.
 setToIndentity()
Transforma el affineTransform en una matriz
identidad que no afecta a la geometría de la
escena, se llama cuando se desea borrar
una transformación.



También podemos construir directamente
un AffineTransform y concatenarlo con la
transformación llamando al método transform .
El método drawImage también está
sobrecargado para permitirnos especificar
unAffineTransform que es aplicado a la imagen
a dibujar. Especificar un transform cuando se
llama a drawImage no afecta al atributo
transform de Graphics2D.