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.
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); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager