Java - ImageIcon (Tamano especifico)

 
Vista:

ImageIcon (Tamano especifico)

Publicado por The Emulator (14 intervenciones) el 27/02/2007 17:39:01
Hola

Como puedo hacer para cargar una imagen a un ImageIcon y establecerle un tamano que yo quira para luego mostrarla en un JLabel

Es que la imagen es muy grande para mostrarla en una parte de mi formulario y me gustaria hacerla mas pequena eso si sin modificar el archivo original ya que es archivo me interesa verlo despues con sus dimenciones reales.

Ya estube buscando y no encuentro nada claro que me explique como hacerlo hasta encontre que supuestamente el ImageIcon tiene un metodo para establecer el ancho y el alto, asi como tambien que en el constructor del ImageIcon se podian pasar esos valores pero provando no existe ni el constructor que permita pasar el tamano y mucho menos los metodos setHeight y setWidth.

Como puedo hacer eso???

Aqui esta o de los metodos y el contructor que menciono
http://echopoint.sourceforge.net/javadoc/docs/echopoint/ImageIcon.html

La clase ImageIcon que estoy usando es la de Swing (javax.swing.ImageIcon) o es que el awt trae otra de esas clases y estan haciendo referencia a esa?

Saludos y gracias
http://www.theemulator.tk
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ImageIcon (Tamano especifico)

Publicado por pablo Brea (1 intervención) el 28/02/2007 18:43:31
javax.swing.ImageIcon icono = new javax.swing.ImageIcon(ruta);
int an =icono.getIconWidth();
int al = icono.getIconHeight();
int ancho=0;
int alto=0;
if (an > al){
ancho=lblFoto.getWidth();
float altod = (al*ancho)/an;
alto = Math.round(altod);
}else{
alto=lblFoto.getHeight();
float anchod =(an*alto)/al;
ancho = Math.round(anchod);
}
javax.swing.ImageIcon iconoEscala = new javax.swing.ImageIcon(icono.getImage().getScaledInstance(ancho, alto, java.awt.Image.SCALE_DEFAULT));
lblFoto.setIcon(iconoEscala);
}

Espero que te sea de ayuda.
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar