Lire un fichier BMP pixel par pixel - Java - Programmation
Marsh Posté le 09-04-2007 à 13:33:43
C'est quoi le code qui affiche ton tableau?
Sinon quand tu dis chaque pixel doit se trouver entre 0 et 255, c'est seulement pour les bmp 8 bits si ca existe encore car en general les pixels sont codés sur 24bits (3 octets), ce qui donne 8 bits par composante rouge vert et bleu.
Donc précise plus exactement ce que tu veux...
D'apres la doc de getRGB, il te renvoie une tableau de couleur sur 32bit, chaque valeur d'un "pixel" comprend le code couleur des trois composantes (rgb), chacune etant sur 8bits, les 8 bits restant etant la transparence (non pris en charge par les bmp si je ne m'abuse -on me corrigera si je me trompe)
Marsh Posté le 09-04-2007 à 14:00:38
breizhbugs a écrit : C'est quoi le code qui affiche ton tableau? |
En fait, il me faudrait extraire la valeur de la couleur bleu de chaque pixel, ce d'une image en 24 bits (j'ai finalement décidé de ne pas utiliser les BitMap 8bits). Je sais qu'il y a la méthode getBlue de la classe ColorModel mais je ne vois vraiment pas comment l'utiliser autre que:
Code :
|
edit: ok le fait de créer un ColorModel monochrome n'aide pas vraiment..
Marsh Posté le 09-04-2007 à 18:45:24
Fais plutot une boucle sur la longueur x et la largeur y de ton bitmap ensuite utilise
Color c(afpImage.getRGB(x,y)); // http://java.sun.com/j2se/1.4.2/doc [...] nt,%20int)
et tu fais int bleu = c.getBlue(); // http://java.sun.com/j2se/1.4.2/doc [...] #getBlue()
Je suis pas sur qu'au niveau performance c'est genial, mais je vois pas autre chose ...
Marsh Posté le 09-04-2007 à 23:22:06
En fait j'ai extrait "manuellement" la couleur "bleu" de chaque pixel.
Code :
|
Tout ceci fonctionne. Voilà
Merci breizhbugs.
Marsh Posté le 09-04-2007 à 12:22:47
Bonjour à tous,
pour faire bref, je dois récupérer la couleur de chaque pixel (représenté par un entier) et la placer dans un tableau, tout ceci depuis
une image au format BMP. A noter que la valeur de chaque pixel doit se situer entre 0 et 255 (ou -127 et 128).
Voici la méthode:
Le problème, c'est que le tableau contient des valeurs trop grandes :
indice : 3597 main : -16777216
indice : 3598 main : -16777216
indice : 3599 main : -16777216
Quel est le problème, mais surtout quel y-a-t-il un autre moyen de récupérer toutes les valeurs d'une image BMP dans un tableau?
Merci d'avance pour vos conseils/critiques/suggestions.