Tamanho de imagem

4 respostas
N

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

D

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

I

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:
P

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

D

De qualquer modo Swing USA AWT.

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