viernes, 10 de junio de 2011

imágenes en java

Los métodos getWidth o getHeight de Image me devuenven -1

El Problema: Si te devuelve -1, significa que no pudo obtener el tamaño, es porque no se cargo la imagen aún

Estas cargando las imágenes de la siguiente manera:


Image imgen = Toolkit.getDefaultToolkit().getImage( getClass().getResource("objeto.jpeg") );
int ancho = imgen.getWidth(null);
int alto = imgen.getHeight(null);
System.out.println("ANCHO:"+ancho+" ALTO:"+alto);

La salida es algo como:

ANCHO:-1 ALTO:-1

Esto es porque Toolkit.getDefaultToolkit().getImage() retorna primero y luego empieza a cargar los pixels.

Solución:
Utilizar la Clase Image Icon para cargar ya que este método retorna cuando se termino de cargar la imagen.

Image imgen = new ImageIcon(getClass().getResource("imagen.gif")).getImage();
int ancho = imgen.getWidth(null);
int alto = imgen.getHeight(null);
System.out.println("ANCHO:"+ancho+" ALTO:"+alto);

La salida es algo como:

ANCHO:50 ALTO:50
Reacciones:

0 comentarios:

Publicar un comentario