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.
Version imprimable
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:
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);
merci bcp pour ces piste !!!!
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:
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 :)