Hola... Mi pregunta es como girar una imagen y que permanezca con el mismo centro... que puedo utilizar?... he visto que en Graphics2D hay algo de rotar y trasladar, pero no se como usarlo.. alguien sabra como es que se hace lo que quiero?...
Saludos
Hola a mi tambie me gustaria saber como girar imagenes o figuras en Java, o por lo menos ver algun ejemplo para guiarme por que tengo que hacer un programa sobre esto!!
gracias!!
saludos!! :rolleyes:
seria como si estuvieras en psd pero mas complicado debes usar el metodo setTimeout( ) que se le llama con dos argumentos osea el nombre de tu funcion y el tiempo en milisegundos q queres q transcurra q le indicaras en el argumento numerico alli el explorador llamara a la funcion. si quieres que esto se repita dentro de la funcion debes porner otro setTimeout( ) ya q alli es donde se materializa la animacion.
primero tienes q definir las imagenes q van a formar la animacion luego haces tu funcion q cambiara el origen de la imagen q animaras y ya por ultimo la vas a llamar con el setTimeout( ) haces tu nuevo array, declaras tu variable como global q seria la k iria contando las imagenes, haces la funcion animar y le vas incrementando el tiempo q transcurra con el setTimeout( ) y listo
En java.awt.image.AffineTransformOp tienes todo lo que necesitas. Ejemplo de rotación de imagen sacado de un manual de Java2D:
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
try {
InputStream in =
getClass().getResourceAsStream("../neuschwanstein.jpg");
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
BufferedImage image = decoder.decodeAsBufferedImage();
// Aqui se realiza la transformación
AffineTransform at = AffineTransform.getRotateInstance(Math.PI/8);
RenderingHints rh =
new RenderingHints(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
AffineTransformOp atop = new AffineTransformOp(at,rh);
BufferedImage destino = atop.filter(image, null);
// Aquí termina el proceso
g2.drawImage(destino,0,20,this);
in.close();
}
catch (IOException e) {e.printStackTrace();}
catch (ImageFormatException e) {e.printStackTrace();}
}
Cita de: E0N en 21 Octubre 2008, 15:34 PM
En java.awt.image.AffineTransformOp tienes todo lo que necesitas. Ejemplo de rotación de imagen sacado de un manual de Java2D:
OK muchas gracias esto ultimo me ha servido...