Tratamento de bits usando RGB(Imagem)

3 respostas
I
Alguém que conheça de tratamento de bit poderia me ajudar estou utilizando uma classe chamada  PixelGrabber

public void handlesinglepixel(int x, int y, int pixel) {

int alpha = (pixel >> 24) & 0xff;

int red = (pixel >> 16) & 0xff;

int green = (pixel >> 8) & 0xff;

int blue = (pixel ) & 0xff;

// Deal with the pixel as necessary… }

esse metodo é utilizado para saber qual é o valor do pixel entre 0 e 255 (RGB) so que eu não estou sabendo como fazer isso.
Minha duvida é:
O que eu faço depois de caminhar nos bits, como esta mostrado acima eu tentei fazer mas nâo consegui.
O Pixel tem que receber qual valor?
Valeu.

3 Respostas

cv1
public void handlesinglepixel(int x, int y, int pixel) {
	int alpha = (pixel >> 24) & 0xff;
	int red   = (pixel >> 16) & 0xff;
	int green = (pixel >>  8) & 0xff;
	int blue  = (pixel      ) & 0xff;

        System.out.println("Pixel em " + x + "x" + y + ": " + red + ", " + green +", " + blue + ", " + alpha + " (RGBA)");

 }

Nao entendi direito a sua duvida, mas vc ja tem a posicao do pixel, e as cores deles separadas em ints (que podiam ser bytes, alias).

I
"cv":
public void handlesinglepixel(int x, int y, int pixel) {
	int alpha = (pixel >> 24) & 0xff;
	int red   = (pixel >> 16) & 0xff;
	int green = (pixel >>  8) & 0xff;
	int blue  = (pixel      ) & 0xff;

        System.out.println("Pixel em " + x + "x" + y + ": " + red + ", " + green +", " + blue + ", " + alpha + " (RGBA)");

 }

Nao entendi direito a sua duvida, mas vc ja tem a posicao do pixel, e as cores deles separadas em ints (que podiam ser bytes, alias).

O problema é esse com um pixel pode ter mais de uma cor após separar por cor com eu sei qual cor é daquele pixel.
Ou eu devo fazer uma media entre os resultados obtidos de cada um e atribuir esse resultado para aquele pixel tipo assim:
Pixel[x][y]=red+green+blue+alpha/4;
Já deu para entender qual é minha duvida???
Valeu!!!!!!!!!
Falows.
Ahhhh e como eu posso trabalhar com bytes??

louds

Voce não tem várias cores, continua com a mesma.
No sistema RGBA as cores são representadas utilizando vermelho, verde e azul, e com o canal alpha (transparência).
Depois que voce decompos a cor do pixel, para obter ela novamente ter que compor fazendo o oposto do código que voce mostrou.
Os tons de vermelho, verde e azul são as cores componentes, elas tem que ser tratadas em conjunto para poder representar todas cores do espectro visivel.

Criado 24 de dezembro de 2003
Ultima resposta 29 de dez. de 2003
Respostas 3
Participantes 3