Bonjour à tous.
Je souhaite modifier des images dans mon programme Java, en modifiant la matrice de l'image. J'utilise donc la classe Pixelgrabber, comme ceci :
pour récupérer les composantes rougze, vert, bleu de chaque pixel, pas de problème je fais comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 //récupère l'image sous forme de tableau d'entier int[] tab = new int[width * height]; PixelGrabber pg = new PixelGrabber(image, 0, 0, width, height, tab, 0, width); try { pg.grabPixels(); }catch(InterruptedException e){System.err.println("interrupted waiting for pixels!");}
Mais mon problème, c'est pour créer une nouvelle couleur, par exemple le rouge qui serait identifié par [255 , 0 , 0], et ranger ces trois valeurs dans un seul entier. Est-il possible ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int pix=tab[i*width+j]; int red = (pix >> 16) & 0xff; int green = (pix >> 8) & 0xff; int blue = (pix ) & 0xff;
Merci beaucoup
Laurent
Partager