Girar Imagen en Java

Iniciado por Lopardo, 23 Mayo 2006, 22:21 PM

0 Miembros y 1 Visitante están viendo este tema.

Lopardo

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
...de la sabiduría.

1mpuls0

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:
abc

carolmuriel

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:

Código (java) [Seleccionar]
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();}
}


1mpuls0

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...
abc