Mudar a cor da imagem carregada

2 respostas
Richeli

Pessoas,
Fiz um programinha que carrega qualquer imagem que eu tenha no arquivo em um label na minha tela! Preciso fazer uma função que aplique um filtro nesta imagem que a deixe preto e branco! Mas não tenho idéia de como fazer isto! Se alguém puder me dar alguma dica de tutorial ou algo aprecido eu agradeceria mto!

Obrigada,

2 Respostas

Ironlynx

Richeli, deve-se salientar que da forma que vc tá colocando, o que vc vai fazer é deixar o JLabel na qual a imagem está inserida preto-e-branco.sobescrevendo o paintComponent por exemplo.Mas vc pode também ter uma versão preto-e-branco dessa imagem e quando ouver um evento, chamar(atualizar o seu JLabel) com ela.O pior e mais trabalhoso,é realmente deixar a imagem em preto e branco.Aí vc terá que fazer algo tipo usando JIU ou JAI. Comece por http://www.developer.com/java/other/article.php/3403921 e http://www.developer.com/java/other/article.php/3423661

Richeli

Vou me explicar melhor, agora que já amadureci um pouco a ideia do que devo fazer!
Tenho um programa que carrega imagem num panel! O panel num é importante, o importante pra mim é a imagem em si! Minha ideia é varrer esta imagem pixel a pixel para montar uma matriz com as cores RGB da imagem! Depois, criar uma função para transformar estes números da matriz em branco e preto. Como preciso de maior precisão para as cores pretas, a ideia é dificultar um pouco mais para que o pixel seja preto.

Se COR[i ][j ] <100 = preto
senão
COR [I] [J] = branco

E depois de feita essa separação em pixels pretos e pixels brancos devo recarregar a imagem no panel já alterada!(preta e branca)

Considerações:

  • A imagem deve ser um bitmap ou um jpeg;
  • A imagem vai variar de tamanho e não deverá ser redimensionada para o tamanho do panel (a não ser que sobre tempo para implementar isto);

O que procuro:

*O que devo usar pra trabalhar com os pixels da imagem que está no panel;
*Como transformar a imagem que já está no panel numa matriz;

Obrigada,

Criado 28 de agosto de 2007
Ultima resposta 29 de ago. de 2007
Respostas 2
Participantes 2