Comment lire la couleur des pixels dans un tampon java avec transparence
Je lis la couleur des pixels dans une image tampon comme suit:
.....
InputStream is = new BufferedInputStream(conn.getInputStream());
BufferedImage image = ImageIO.read(is);
int color = image.getRGB(x, y);
int red = (colour & 0x00ff0000) >> 16;
int green = (colour & 0x0000ff00) >> 8;
int blue = colour & 0x000000ff;
Maintenant, cela fonctionne bien sauf pour les png avec transparence. Je trouve que si x, y se réfèrent à un pixel transparent sans couleur, je lis toujours une couleur, généralement la même couleur que celle utilisée ailleurs dans l'image.
Comment détecter que le pixel est réellement transparent et non coloré?
Merci
11
1 answers
int alpha = (colour>>24) & 0xff;
Le résultat est également une valeur allant de 0 (complètement transparent) à 255 (complètement opaque).
17
Author: jarnbjo, 2009-10-21 10:38:56