Como mudar imagem para uma cor qualquer?

Ola a todos como faço para alterar uma imagem a nível de pixel para uma cor qualquer ? :slight_smile:

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+