Ola a todos como faço para alterar uma imagem a nível de pixel para uma cor qualquer ? 
o um exemplo:
[code]Color[] color = new Color[]{Color.blue , Color.cyan , Color.green , Color.magenta , Color.orange , Color.pink , Color.red , Color.yellow }
Image image = createImage(x,y);
Graphics tg = image.getGraphics();
int yinc = (int)((float)y / (float)color.length + 0.5);
for (int i = 0; i < color.length; i++) {
tg.setColor(color [i]);
tg.fillRect(0,i*yinc,x,yinc);
}
[/code]
obs; depois só dar um drawImage
Fiz um editor de imagens ano passado, eis um pedacinho do código para te dar uma luz:
Utilize BufferedImage.
Eis um método para te dar uma luz:
[code] /**
* Print all values RGB of the image.
*/
public void printImageValues() {
int w = this.getImage().getWidth(); // largura
int h = this.getImage().getHeight(); // altura
int[] pixels = this.getImage().getRGB(0, 0, w, h, null, 0, w); // vetor de pixels
for (int lin = 0; lin < h; lin++) {
for (int col = 0; col < w; col++) {
System.out.print(new Color(pixels[w * lin + col]) + "\t");
}
System.out.println();
}
}
/**
* Get the buffered image.
* @return the buffered image.
*/
public BufferedImage getImage() {
return buffImage;
}[/code]
Beleza mas em j2me nao tenho a classe Color,como poderia fazer?
Desculpa, não tinha visto que estava no Java ME…
Infelizmente não programo em ME…
Mas sei que tem uns exemplos de imagens em http://www.java2s.com/Code/Java/J2ME/Image.htm
Abraços.
no Graphics … tu pode setar a cor usando o sistema RGB … com os métodos:
public void setColor(int RGB)
public void setColor(int red, int green, int blue)
primeiro a imagem tem q ser mutável, ou seja, caso vc esteja lendo essa imagem de um arquivo no /res por exemplo, então essa imagem ñ é mutável e ñ pode ter os pixels alterados
mas oq vc deve fazer nesse caso é criar uma cópia dos pixels (nao do objeto, apenas do vetor de pixels) da imagem q é imutável, e assim alterar o valor desses pixels pra qlqr outro valor q vc queira, depois disso rie outra imagem, resuindo em código ficaria ± assim?
// cria imagem imutável
Image img1 = Image.createImage("imagem.png");
// faz a cópia dos pixels
int pixels[] = new int[img1.getWidth() * img1.getHeight()];
img1.getRGB(piexls, 0, img1.getWidth(), 0, 0, img1.getWidth(), img1.getHeight());
// aqui vc fuça no vetor de pixels do jeito que quizer
blá blá blá...
// depois cria outra imagem com os pixels alterados
Image img2 = Image.createRGBImage(pixels img1.getWidth(), img1.getHeight(), true);
basicamente só isso, qlqr otra dúida tamo ae
flw, t+