Mudar cor do pixel

4 respostas
B

Mais uma coisa… como eu faço pra mudar um pixel de uma imagem quando clico com o mouse… já fiz a parte do listener pra imagem, e sei como pegar as coordenadas x e y do clique, mas não sei como mudar a cor do pixel.

Valeu!

4 Respostas

aconstantino

Bom, você pode ao clicar repintar isso com os pixeis de alguma cor, mas matendo isso em algum objeto para que sempre possa fazer novamente, um vetor por exemplo mapeando as áreas da figura… Caso contrário você terá que trabalahar com a API JAI.

Rafael_Steil

Hhhhmmm… mapear para Vector nao parece ser algo mto sensato… eu aconselharia usar WritableRaster para pegar e modificar os pixels:

WritableRaster raster = objImage.getRaster();
int pixels[] = new int[4];

raster.getPixel(posicaoX, posicaoY, pixels);
System.out.println("R: "+ pixels[0]);
System.out.println("G: "+ pixels[1]);
System.out.println("B: "+ pixels[2]);

O pixel na posicao 3 eh a o alpha. Para modificar determinado pixel, use o metodo setPixel, passando a posicao X, Y e o array com as novas cores. Lembre-se: o array na posicao 0 eh a quandidade de vermelho, na 1 a de verde, na 2 a quantidade de azul e o 3 eh o alpha.

Para todos os metodos disponiveis e mais info, de uma olhada na documentacao da classe na API.

Rafael

B
WritableRaster raster = [b]objImage[/b].getRaster();

Esse (objImage) é um objeto do tipo Image? Porque eu dei uma olhada na API e não tem esse metodo getRaster() para Image…

Valeu cara…

Rafael_Steil

Use um BufferedImage.

Rafael

Criado 7 de fevereiro de 2003
Ultima resposta 7 de fev. de 2003
Respostas 4
Participantes 3