Oi preciso manipular uma imagem , preciso ler e passar ela de 24 bits para 8 bits ,m as n~~a estou conseguindo setar o objeto color para 8 bits , tem o construtor Color(int , boolean ) so que esse nao resolve meu problema
public ManipulandoImagem(String nomeImagem) {
//referencia a um buffer de uma imagem
BufferedImage imagem = ImageIO.read(new File(nomeImagem));
int w = imagem.getWidth();
int h = imagem.getHeight();
//retorna o rgb da imagem
int[] pixels = imagem.getRGB(0, 0, w, h, null, 0, w);
//cria 3 variaveis para armazenar as cores rgb de cada pixel
double red , green , blue , y;
//percorre i vetor pixel e atualiza o seu valor
for (int col = 0; col < w; col++) {
for (int lin = 0; lin < h; lin++) {
red = new Color(pixels[w * lin + col]).getRed() ;
blue = new Color(pixels[w * lin + col]).getBlue() ;
green = new Color(pixels[w * lin + col]).getGreen();
// aqui preciso das cores antigas e setar um objeto de Color de 8 bits ou seja em tons de cinza
pixels[w * lin + col] =
new Color((int) red, (int) green, (int) blue).getRGB();
}
}
imagem.setRGB(0, 0, w, h, pixels, 0, w);
//cria uma nova imagem
ImageIO.write(imagem, "bmp", new File("limaoPBC.bmp"));
// TODO code application logic here
}
}
Entao a minha duvida e essa , como eu manipulo um objeto Color para representar uma cor de 8 bits …obrigado