[Java] Redimensionner ImageIcon en Java
Resuelto
Calo
-
Mustang -
Mustang -
Hola a todos, tengo una pregunta sobre las ImageIcon en Java, y más concretamente sobre su redimensionamiento.
Mi aplicación genera automáticamente imágenes jpg, que pueden ser de cualquier tamaño. Y me gustaría colocar la imagen creada en un JLabel que, por su parte, tiene un tamaño fijo. Tomemos, por ejemplo, 400x400 (al azar).
¿Cómo hago para que mi imagen aparezca completa dentro del JLabel (y por lo tanto no ver solo una pequeña parte de mi imagen)?
He oído hablar del método setImageAutoSize para TrayIcon; ¿existe un equivalente para ImageIcon..?
Configuración: Mac OS X / Firefox 3.6.3
Mi aplicación genera automáticamente imágenes jpg, que pueden ser de cualquier tamaño. Y me gustaría colocar la imagen creada en un JLabel que, por su parte, tiene un tamaño fijo. Tomemos, por ejemplo, 400x400 (al azar).
¿Cómo hago para que mi imagen aparezca completa dentro del JLabel (y por lo tanto no ver solo una pequeña parte de mi imagen)?
He oído hablar del método setImageAutoSize para TrayIcon; ¿existe un equivalente para ImageIcon..?
Configuración: Mac OS X / Firefox 3.6.3
2 respuestas
IconoImage icon = new ImageIcon(new ImageIcon("tonImage.jpg").getImage().getScaledInstance(20, 20, Image.SCALE_DEFAULT));
kami
gracias
fred
Nickel
Spounchy
Gracias, hermano.
Mustang
solo una pregunta, por favor: ¿el "Image.SCALE_DEFAULT" sirve para los píxeles de la imagen? aparentemente, según yo, probé reemplazarlo por un número 20 y el resultado es mejor, así que ¿por qué lo hace usted?
ImageIcon icon = new ImageIcon("tonImage.jpg");
Image img = icon.getImage();
BufferedImage bi = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.createGraphics();
g.drawImage(img, 0, 0, WIDTH, HEIGHT, null);
IconImage newIcon = new IconImage(bi);
no es la mejor forma, pero es una :)
Image img = icon.getImage();
BufferedImage bi = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.createGraphics();
g.drawImage(img, 0, 0, WIDTH, HEIGHT, null);
IconImage newIcon = new IconImage(bi);
no es la mejor forma, pero es una :)