salut tout le monde :
svp j'ai besoin d'une explication concenent la transformation d'une image en tableau de pixels :
et merci d'avance
salut tout le monde :
svp j'ai besoin d'une explication concenent la transformation d'une image en tableau de pixels :
et merci d'avance
Voir la methode public int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize) de la classe BufferedImage. Attention l'utilisation de cette methode desactive l'acceleration potentielle de l'image.
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Voici une méthode qui récupère les pixels SANS perdre l'accélération matérielle des images de type INT_RGB et INT_ARGB.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public static int[] getPixels(BufferedImage img, int x, int y, int w, int h, int[] pixels) { if (w == 0 || h == 0) { return new int[0]; } if (pixels == null) { pixels = new int[w * h]; } else if (pixels.length < w * h) { throw new IllegalArgumentException("pixels array must have a length" + " >= w*h"); } int imageType = img.getType(); if (imageType == BufferedImage.TYPE_INT_ARGB || imageType == BufferedImage.TYPE_INT_RGB) { Raster raster = img.getRaster(); return (int[]) raster.getDataElements(x, y, w, h, pixels); } // Unmanages the image return img.getRGB(x, y, w, h, pixels, 0, w); }
Partager