Olá pessoal!
Estou tentando escrever um código para acessar o valor R,G,B dos pixels de uma imagem pnj. Pode ser o valor de qualquer uma das componentes do pixel (R,G,B) pois a imagem será em escala cinza, logo os tres valores serão iguais para cada pixel.
Eu tentei utilizar o código abaixo:
try
{
GraphicsEnvironment ge
=GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsConfiguration gc = ge.getDefaultScreenDevice()
.getDefaultConfiguration();
BufferedImage image = ImageIO.read(getClass().
getResource("Images\\terreno1.png"));
int transparency = image.getColorModel()
.getTransparency();
BufferedImage copy = gc.createCompatibleImage(image.
getWidth(),image.getHeight(), transparency);
Graphics2D g2d = copy.createGraphics();
g2d.drawImage(image,0,0,null);
g2d.dispose();
for (int iIndex=0; iIndex<copy.getHeight(); iIndex++)
{
for (int jIndex=0; jIndex<copy.getWidth(); jIndex++)
{
System.out.print(copy.getRGB(iIndex,jIndex)+" ");
}
System.out.println();
}
}
catch(Exception e)
{
System.out.println("Erro de leitura");
}
mas obtive o seguinte resultado:
-12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -10855846 -10855846 -10855846 -10855846 -10855846 -10855846 -10855846 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636
-12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -10197916 -10197916 -10197916 -10197916 -10197916 -10197916 -10197916 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -12829636 -
o que não faz muito sentido para mim, já que eu esperava um valor de 0 a 256. Alguem tem alguma idéia?
Obrigado! Abraços