[RESOLVIDO] Criar um BufferedImage cinza  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
oitathi
Virtual Machine Man
[Avatar]

Membro desde: 24/06/2010 15:43:32
Mensagens: 501
Offline

Gente e tenho um bufferImage que foi criado dessa forma:


Eu quero criar outro BufferedImage mas que seja uma imagem completamente cinza. Como posso fazer?
Para ser mais precisa eu quero criar uma imagem que tenha um tamanho que não é padrão, ou seja, o tamanho vai depender do mapWidth e do mapHeight do primeiro BufferedImage. Mas essa imagem é apenas formada da cor cinza.
Obrigada

This message was edited 2 times. Last update was at 09/09/2010 11:24:30


Quod non me occidit, vigescit
[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Nessa página tem um conjunto de classes que te permite fazer basicamente tudo que um Photoshop da vida faz:
http://www.jhlabs.com/ip/filters/index.html

São filtros, fáceis de usar e muito velozes.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
oitathi
Virtual Machine Man
[Avatar]

Membro desde: 24/06/2010 15:43:32
Mensagens: 501
Offline

Muito legal essa página Vini, mas eu creio q eu precise de alguma coisa muito mais simples. Quero criar um BufferedIamge de tamanho x,y (altura, largura) preenchido com a cor cinza.

Quod non me occidit, vigescit
[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Você pode usar o TYPE_BYTE_GRAY ou o TYPE_USHORT_GRAY.
O segundo tem mais tons de cinza que o primeiro.




@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
oitathi
Virtual Machine Man
[Avatar]

Membro desde: 24/06/2010 15:43:32
Mensagens: 501
Offline

então eu teria que fazer assim?

Ou eu estou complicando demais?

Quod non me occidit, vigescit
[Email] [MSN]
KWill
Virtual Machine Man
[Avatar]

Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline

oitathi wrote:Muito legal essa página Vini, mas eu creio q eu precise de alguma coisa muito mais simples. Quero criar um BufferedIamge de tamanho x,y (altura, largura) preenchido com a cor cinza.

Achei algo perdido/escondido aqui e talvez sirva:

Inté.

"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola
KWill
Virtual Machine Man
[Avatar]

Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline

Faltou a parte de como criar o IndexColorModel "cúbico" de 216 cores:

Inté.

"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

oitathi wrote:então eu teria que fazer assim?


É isso mesmo. Mas essa imagem, criada com o tipo de GRAY nunca poderá ter cor. Se você quiser que tenha cor, crie com o mesmo tipo da anterior e use o mesmo método de desenho que vc já usou.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
oitathi
Virtual Machine Man
[Avatar]

Membro desde: 24/06/2010 15:43:32
Mensagens: 501
Offline

Desculpa Vini, mas eu não entendi o que vc disse...

eu teria que fazer assim então:

This message was edited 1 time. Last update was at 09/09/2010 10:33:01


Quod non me occidit, vigescit
[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Existem duas coisas:

1. O tipo da imagem, que define quantos bytes ela gastará para representar cores, quais cores serão representadas e de que forma (indexada ou direta);
2. A imagem em si.

Você pode ter uma imagem que suporte o desenho colorido, mas que casualmente só foi desenhado com cinza (ou seja, uma imagem do tipo INT_RGB ou INT_ARGB, pintada inteiramente de cinza).
E você pode ter uma imagem que só tenha tons de cinza, e jamais vá aceitar qualquer tipo de cor (do tipo GRAY). Nesse caso, se você pintar cores na imagem, elas serão convertidas para um tom de cinza.

A questão é, o que você precisa?

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
oitathi
Virtual Machine Man
[Avatar]

Membro desde: 24/06/2010 15:43:32
Mensagens: 501
Offline

"E você pode ter uma imagem que só tenha tons de cinza, e jamais vá aceitar qualquer tipo de cor (do tipo GRAY). Nesse caso, se você pintar cores na imagem, elas serão convertidas para um tom de cinza. " Eu preciso disso. Então, para que isso aconteça, eu devo excluir a linha onde eu seto uma cor, ou seja, não definir cor alguma, é isso?

Quod non me occidit, vigescit
[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Não, vc ainda precisa do setColor. Ele dirá qual é o tom de cinza a ser usado.

No caso de criar uma imagem com TYPE_USHORT_GRAY, você pode usar qualquer cor (GRAY, RED, YELLOW) que sairá cinza. Só o que muda é o tom. Aí é só achar o tom que você precisa.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
oitathi
Virtual Machine Man
[Avatar]

Membro desde: 24/06/2010 15:43:32
Mensagens: 501
Offline

ah tah valeu Vini!!! Entendi.. agora soh preciso saber como faço pra colocar tudo isso dentro de um JLabel...

Quod non me occidit, vigescit
[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Você pode colocar no JImagePanel (que aceita um BufferedImage direto).

Ou usar o setIcon do JLabel. Um dos construtores da classe ImageIcon aceita um Image. E todo BufferedImage é um Image.

This message was edited 1 time. Last update was at 09/09/2010 11:18:24


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
oitathi
Virtual Machine Man
[Avatar]

Membro desde: 24/06/2010 15:43:32
Mensagens: 501
Offline

Valeu Vini!!! Mais uma vez vc me salvou!

This message was edited 1 time. Last update was at 09/09/2010 11:24:47


Quod non me occidit, vigescit
[Email] [MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team