Identificarte

Versión Completa : Manejo de imágenes en Java Swing


Sponsored links
.




ariel1979
marzo 17, 2004, 07:11
Hola amigos. Me preguntaba si añadir un ImageIcon a un JLabel es la única forma de presentar y manipular imágenes dentro de un JFrame o si existe otro método más apropiado que nos permita hacer scaling y demás utilidades, sería una pena que el JLabel sea la única posibilidad de manejar imágenes. Traté con el método drawimage pero no sé como lidiar con el molesto imageobserver. Si pueden aclararme la situación o describirme un ejemplo se los agradecerá. Ariel

jasz
marzo 17, 2004, 07:33
no recuerdo bien.. pero creo que la clase canvas es para eso...

no, no es parte de swing... pero echale una mirada..

joder... se me olvido hacer gui's con java. :(

ariel1979
marzo 17, 2004, 08:38
Gracias jasz, pero lo que yo quería decir es como representar imágenes tipo .jpg o .gif en un JFrame, para con ello lograr animaciones fluidas o simular los tan antiguos como convenientes sprites (Desarrollando juegos).

gK-JATH
marzo 17, 2004, 09:46
Hay muchas clases de Java para eso, dependiendo de lo que necesites.

Toolkit tiene un método estático (no tienes que crear una instancia de la clase!) que se llama getImage.
Y la imagen se 'pinta' usando drawImage() de la clase Graphics, normalmente.

Debes importar java.awt.Graphics, java.awt.Tookit y java.awt.Image si no me equivoco.


Image miImagen = (Toolkit.getDefaultToolkit()).getImage("tuimagen.gif");

public void paint(Graphics g) {
g.drawImage(imagenFrog, posicionX, posicionY, null)
}


Hay otras clases que permiten más cosas (BufferedImage, etc.), e incluso modificarlas (brillo, contraste, etc.)

gK-JATH
marzo 17, 2004, 09:48
Canvas es como un "espacio en blanco" que provee Java para pintarle cosas encima.
Pero no es estrictamente necesario para el manejo de imágenes.

ImageIcon es una opción, pero es más usada para botones y como una forma "medio fea" de meter imágenes, usando JLabels.

Grissom.
marzo 18, 2004, 11:42
Huy no digas eso viejito, java ofrese una gestion de imagenes del ***************, si quiere hacer operaciones mas que pintar la imagen pitela usted mismo en el evento paint usando el Graphics2D ... si quiere cosas aun mas complejas de las que tiene hay nombradas, bajese la API JAI del pagina de sun, es gratuita igual y hay si que puede hacer es un Corel 12 con eso le digo todo (asi quede pesaito, pero se puede ... 1/2 horita de espera de inicio mas hay no mas)

ZeN<edsadr>
marzo 18, 2004, 11:52
viejo como dice el rulas lomejor es el JAI(Java Advanced Imaging) esa vaina es supercompleta y facil de manipular, tiene todas las operaciones posibles sobre una o varias imagenes, si necesita ayuda sobre el manejo o tutorialcitos mandeme un mp... a eso le jalo hace rato

cuaquero
marzo 18, 2004, 03:29
Ese JAI es bueno, pero no es tan fácil como dicen, yo alguna vez trate de hacer un resize a una imagen y casi que no la cojo, me demoré mucho.

cuaquero
marzo 18, 2004, 03:36
Mirá, por ahí usmeando en mis cositas me encontré con este código, espero te sirva.