Orkut Gmail Agenda Docs Web mais »
Grupos visitados recentemente | Ajuda | Acessar
Página inicial dos Grupos do Google
Informações do grupo
Membros: 220
Idioma: Português (Brasil)
Categorias do grupo:
Ciência e tecnologia
Computadores
Mais informações sobre o grupo »
Arquivos e páginas recentes
[Tutorial JAVA] Lendo e exibindo imagens    

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:

  • Arquivo de entrada. (File & ImageIO)
  • Componente para exibir a imagem (JPanel)
  • Janela para exibição (JFrame)

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:

Janela.java 

LoadImage.java

 

Versão: 
1 mensagem sobre esta página
5 jun 2008 por Breno
Tutorial sobre leitura de imagens em JAVA.
Click on http://groups.google.com/group/ti-de-minas/web/tutorial-java-lendo-e-exibindo-imagens
- or copy & paste it into your browser's address bar if that doesn't
work.
Criar um grupo - Grupos do Google - Página inicial do Google - Termos de Uso - Política de Privacidade
©2009 Google