Help Image et pixels...

Geomaster Messages postés 22 Date d'inscription lundi 9 décembre 2002 Statut Membre Dernière intervention 31 juillet 2003 - 15 mai 2003 à 20:05
cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 - 16 mai 2003 à 16:41
Est ce que qqn pourrait m'indiquer SIMPLEMENT (lol) comment je peux SIMPLEMENT (re lol) extraire la couleur d'un pixel d'une image gif quelconque.
Alors je sais qu'il y a getRGB(pix_X, pix_Y) dans la classe BufferedImage mais comment on cree une BufferedImage a partir d'une image gif sur le disque ?

Enfin à l'aide quoi... ;-)

Le Geomaster du Secret des Etoiles :o)

4 réponses

cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
16 mai 2003 à 03:54
bon alors tu crées une nouvelle BufferedImage :

BufferedImage bi = new BufferedImage(width, heigth, BufferedImage.TYPE_INT_RGB);

Tu peux essayer il y a plusieurs TYPEs possible, par exemple selon si ton image doit supporter les pixels transparents, etc..

ensuite, tu as besoin de ton image...alors si tu travailles avec un Component quelconque c'est facile tu peux utiliser la méthode getImage :

Image img = Component.getImage(chemin du fichier);

sinon tu peux utiliser un Toolkit...
finalement tu n'as qu'à dessiner cette image sur le buffer

bi.drawImage(img, 0, 0, null);

voilà, après tu peux utiliser les nombreuses fonctions de la classe BufferedImage...
0
cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
16 mai 2003 à 03:56
zut alors, petite erreur, faut que tu dessines l'image à l'aide des graphics du buffer cad :

bi.getGraphics().drawImage(img, 0,0,null);
0
Geomaster Messages postés 22 Date d'inscription lundi 9 décembre 2002 Statut Membre Dernière intervention 31 juillet 2003
16 mai 2003 à 07:54
En fait je comprends tout à fait cet exemple. Mais moi je n'ai pas besoin de dessiner. En fait j'ai une grille d'images gifs quelconques (certaines transparents, d'autres non d'ailleurs) et le but est d'insérer dans une autre grille d'instances de Color, la couleur du pixel 20,20 de chaque image...

Et là je ne vois pas comment car je sais comment récuperer cette couleur grâce à un BufferedImage mais si j'en créé une instance comme tu me l'as dit, je ne vois pas où je lui associe l'image

BufferedImage bi = new BufferedImage(width, heigth, BufferedImage.TYPE_INT_RGB);

Image img = Component.getImage(chemin du fichier);

Je vois pas de liens entre les deux c pour ça que ca me choque et si je fais alors bi.getRGB(20,20) etc... Ca ne marchera pas je pense puisqu'il sera pas au courant de l'image sur laquelle il doit travailler... ?
0
cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
16 mai 2003 à 16:41
''
BufferedImage bi = new BufferedImage(width, heigth, BufferedImage.TYPE_INT_RGB);

Image img = Component.getImage(chemin du fichier);

Je vois pas de liens entre les deux c pour ça que ca me choque et si je fais alors bi.getRGB(20,20) etc... Ca ne marchera pas je pense puisqu'il sera pas au courant de l'image sur laquelle il doit travailler... ? ''

c'est qu'il faut que tu dessines l'image sur le bufferedImage de cette façon : bi.getGraphics().drawImage(img, 0, 0, null);
Ensuite, tu peux considérer que bi est tout à fait semblable à ton image de départ.
0
Rejoignez-nous