Bonjour,
J'aimerais savoir ce qu'est exactement une bufferedImage et si ça peut aider à la conversion d'image jpeg en tableau de pixels, ou alors si vous connaissez des sources java permettant cela?
Merci bcp d'avance, Sophie.
Bonjour,
J'aimerais savoir ce qu'est exactement une bufferedImage et si ça peut aider à la conversion d'image jpeg en tableau de pixels, ou alors si vous connaissez des sources java permettant cela?
Merci bcp d'avance, Sophie.
Jettes un oeil sur PixelGrabber, MemoryImageSource...
Sinon la methode getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize) de buffered image te retourne un tableau de pixels. Evidement tu perds toute acceleration materielle potentielle, tu doubles l'espace memoire utilise pour le stockage des pixels (puisque tu as une 2nd copie de l'image), et si tu modifies ce tableau il te faudra remettre a jour l'image via setRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int width = image.getWidth(); int height = image.getHeight(); int[] pixels = new int[width*height]; pixels = image.getRGB(0, 0, width, height, pixels, 0, width); ... image.setRGB(0, 0, width, height, pixels, 0, width);
Avec les BufferedImage le mieux est d'utiliser un Raster fourni par getData(). Ce sera plus effiace que des getRGB/setRGB.
sinon, il y aussi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(jpgImage,"jpg",out); byte tab[] = out.toByteArray();
J'ai deja traiter ce cas et j'ai utilisé le pixelgrabber,
d'ailleurs sur le site de sun il y a un exemple
http://java.sun.com/j2se/1.4.2/docs/...elGrabber.html
Oui mais le PixelGrabber c'est comme le MediaTracker... c'est viiiiiiiiiieeeeeeeeux et y'a mieux
Partager