| Membros: 220 |
| Idioma: Português (Brasil) |
| Categorias do grupo:
|
| Mais informações sobre o grupo » |
|
Pessoal, através deste tutorial espero capacitar vocês a lerem, modificarem e exibirem imagens em JAVA. A primeira classe de grande importância é a BufferedImage, para detalhes dessa classe consulte a API em BufferedImageAPI. Essa classe irá armazenar os dados da imagem que queremos exibir. Podemos executar diversas operações sobre a imagem tal como, mudar cores de pixels, rotacionar, entre outros. Vamos colocar a mão na massa: Para exibir a imagem precisaremos dos seguintes componentes:
Começaremos com a classe que irá ser nosso componente para abrigar a imagem. Essa classe deve ser uma extensão da classe JPanel assim ela será um componente. Abaixo segue o código:
class LoadImage extends JPanel { Image img; public LoadImage(BufferedImage img) { this.img = img; }
public void paint(java.awt.Graphics g) { super.paint(g); g.drawImage(img, 5, 5, null); } }
Devemos prestar atenção ao método paint. Esse método é chamado sempre que operações de redesenho na tela são necessárias. Essas operações podem ser minimizar, maximizar, alterar tamanho, etc... É necessário que nossa imagem seja desenhada na tela sempre que uma dessas operações aconteça, por isso fazemos a chamada drawImage dentro do método. Para testes comentem essa chamada e verão que a imagem vai deixar de ser exibida. O método paint recebe como parâmetro um Graphics que é utilizado para desenho de elementos gráficos em JAVA, além da classe Graphics existe também a classe Graphics2D. Mais adiante vamos ao programa principal. Para fazer a carga da imagem precisamos dos seguintes comandos:
File arquivoImagem = new File("d:\\temp\\Imagem.jpg"); BufferedImage img = ImageIO.read(arquivoImagem);
O primeiro comando faz a abertura do arquivo que contém a imagem. O segundo faz a leitura de todo o arquivo através da chamada ImageIO.read e retorna uma imagem compatível com BufferedImage.
Vamos montar a janela de exibição.
JFrame frame = new JFrame(); frame.setSize(img.getWidth()+40,img.getHeight()+70); frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
A primeira linha indica a chamada do contrutor da classe JFrame, que é a nossa janela. A segunda linha indica a dimensão da nossa janela, que será um pouco maior que o tamanho da imagem. A terceita linha indica que não iremos utilizar nenhum tipo de layout em nossa janela, a posição dos componentes terá que ser setada manualmente. A quarta linha, muitas vezes esquecida por programadores, indica que quando a janela for fechada deve-se encerrar o programa. Caso ela seja omitida a thread que mantem o sistema gráfico ficará rodando e consumindo memória!
Em seguida vamos criar nossa classe LoadImage e adicioná-la à janela:
LoadImage panel = new LoadImage(img); frame.add(panel);
finalizando basta apenas setar a posição da nossa imagem em nossa janela e mandar que tudo seja visível.
panel.setBounds(5,5,img.getWidth(), img.getHeight()); frame.setVisible(true);
Pronto! Espero que tenha ajudado, qualquer dúvida postem aqui.
Fontes:
|
| |||||||||||
| Criar um grupo - Grupos do Google - Página inicial do Google - Termos de Uso - Política de Privacidade |
| ©2009 Google |