Eu até consigo perceber que o que o código está fazendo é pegando o RGB de uma imagem qualquer. O que queria entender são esses módulos getR(), getG e getB. Aparentemente eles servem para pegar cada um dos componentes do RGB separadamente. Se for isso mesmo alguém poderia me explicar sobre os números em hexadecimal, esses sinais de << (não sei se esta comparando com alguma coisa :? ), etc... Penso que se eu conseguir entender essa parte ela será de grande utilidade numa aplicação que estou fazendo.
Alguém consegue entender o que o código está fazendo nessa parte? Esses pipes (|) significam “OU”? Se for parece q ele retorna 0 deslocado em 3 bytes ou r deslocado em 2 bytes & 0x00FF0000 (ele retorna 0 ou 1 aqui?) ou sei lá mais o que… :?
E
entanglement
Ah, é isso mesmo. o “|” representa o “ou” binário (ou seja, “|” com 1 é sempre 1, e “|” com 0 é o valor original. )
Ele serve para “juntar” as coisas. Por exemplo:
vlw, vini... tbm achei bem confuso o código do cara hehehe... o que eu preciso eh pegar a quantidade de vermelho, de verde e de azul separadamente... vou testar a sua idéia...
[]s
ViniGodoy
Existem vários padrões de cor. As funções que escrevi assumem o padrão ARGB, que é um padrão comum, e o padrão para o qual a função getRgb() converterá todas as imagens. Você ainda pode ter o padrão RGB (nesse caso o alfa sempre virá zerado), BGR, RGBA, etc… A única coisa que muda nesses padrões é a posição dos bits. Agora, existem outros padrões que envolvem compatação, como o r5g6b5. Tem que tem 5 bits para o vermelho, 5 para o azul e 6 para o verde.
Agora, algumas funções mais performáticas, envolvem usar o Raster diretamente, e ele pode não converter esse padrão. Portanto, é bom saber que isso existe.
tiu_kraudio
ViniGodoy:
Existem vários padrões de cor. As funções que escrevi assumem o padrão ARGB, que é um padrão comum, e o padrão para o qual a função getRgb() converterá todas as imagens. Você ainda pode ter o padrão RGB (nesse caso o alfa sempre virá zerado), BGR, RGBA, etc… A única coisa que muda nesses padrões é a posição dos bits. Agora, existem outros padrões que envolvem compatação, como o r5g6b5. Tem que tem 5 bits para o vermelho, 5 para o azul e 6 para o verde.
Agora, algumas funções mais performáticas, envolvem usar o Raster diretamente, e ele pode não converter esse padrão. Portanto, é bom saber que isso existe.
Vlw, brother… passei só prá agradecer mesmo… funcionou certinho… brigadão…