Tamanho de imagem

4 respostas
NOM

Salve a todos,

Tenho que colocar uma imagem dentro de um label, como eu posso rediemencionar a imagem?

O label eu sei redmencionar mas eu na verdade quero é mostrar a imagem com tamanho menor ou maior se for o caso.

Eu tentei usar

public void paint(Graphics graf){
}

Depois que coloquei isso ele não mostra mas nada na aplicação elas estão lá pois se eu clicar em algo ele aparece.

Obrigado mais uam vez pessoal!!!

4 Respostas

danieldestro

Acho que isso ajuda:
http://www.rgagnon.com/javadetails/java-0243.html
http://www.geocities.com/marcoschmidt.geo/java-save-jpeg-thumbnail.html

Ironlynx

Quando eu preciso redimensionar uma imagem(igual ao preview de um FileChooser) eu faço + ou - assim(só para te dar uma idéia):

protected void paintComponent(Graphics g) {
     
          if (novaImagem != null) {
            int x = getWidth()/2 - novaImagem.getIconWidth()/2;
            int y = getHeight()/2 - novaImagem.getIconHeight()/2;

            if (y < 0) {
                y = 0;
            }

            if (x < 5) {
                x = 5;
            }
            novaImagem.paintIcon(this, g, x, y);
        }
    }
//método responsável por atualizar a imagem q é mostrada no rótulo 
   private void atualizaLabel(ImageIcon icon){
   	    
   	    img.setIcon(icon);
   	         
        if (icon != null) {
            img.setText(null);
            
            //repaint();
        } else {
            img.setText("Imagem não disponível!");
        }
   	
   }
Aí, dentro do file chooser eu só fazia assim:
if (returnVal == JFileChooser.APPROVE_OPTION) {
                	File file = fc.getSelectedFile();
                	 imagem=new ImageIcon(file.getPath());//pega o caminho da imagem
               	     novaImagem=new ImageIcon(imagem.getImage().//pega a imagem com novo tam
                                          getScaledInstance(90, -1,
                                                      Image.SCALE_DEFAULT));
                      
                        atualizaLabel(novaImagem);
                        repaint();   //atualiza o JLabel com a img selecionada
  }
Mais aqui: http://www.robzazueta.com/resume/code/imagehandler.php http://www.koders.com/java/fid411BDE97E470CA70FA0D462E9C1838B84EAD179A.aspx http://www.koders.com/java/fid459D26A913C67684BBA926FA200B705E9B0B2DBB.aspx :wink:
Pilantra

Desculpe a minha ignorancia mas, eu não gosto muito de usar o java.awt.image, existe algum controle que seja do swing pra imagens!? Porque eu acharia mais fácil um componente que exiba as figuras no lugar que no convém!!

Obrigado

danieldestro

De qualquer modo Swing USA AWT.

Criado 27 de janeiro de 2005
Ultima resposta 28 de jan. de 2005
Respostas 4
Participantes 4