Pergunta

Eu quero mostrar variações da mesma imagem no mesmo JFrame, por exemplo exibir uma imagem no JFrame, em seguida, substituí-lo com escala de cinza da mesma imagem.

Foi útil?

Solução

Você vai ter que pintar o JFrame sempre que você atualizar a imagem.

Aqui está o que um simples google sobre o tema traz à tona: (eu uso desses tutoriais para toda a minha codificação Java)

Java Tutorial: Desenhando uma imagem

Outras dicas

Para construir na solução de camickr (para os preguiçosos como eu, que querem código rápido para copiar / colar) aqui está uma ilustração código:

JFrame frame = new JFrame();
frame.getContentPane().setLayout(new FlowLayout());
frame.getContentPane().add(new JLabel(new ImageIcon(img)));
frame.getContentPane().add(new JLabel(new ImageIcon(img2)));
frame.getContentPane().add(new JLabel(new ImageIcon(img3)));
frame.pack();
frame.setVisible(true);
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // if you want the X button to close the app

Eu não sou realmente certo o que você pergunta é, mas se você tem um BufferedImage então você simplesmente criar um ImageIcon usando a imagem, em seguida, você adicionar o ícone para um JLabel e adicione o rótulo para o GUI como qualquer outro componente.

Se você pergunta é sobre como criar uma escala de cinza, o que eu sugiro que você pesquisar na web usando esses termos como palavras-chave de busca, eu tenho certeza que você vai encontrar exemplos lá fora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top