Imagens

Oie surgiu mais uma dificuldade :?

Estou tentando reajustar uma imagem via programação ao tamanho do meu label mais não consigo

Eu puxo a imagem com o JfileChooser e consigo por ela no label mas não consigo fazer com que ela fique do tamanho do label

Ex.: eu tenho uma imagem (1000 por 1000) e um label (500 por 500), queria deixar a imagem (500 por 500)…

Se puderem me ajudar fico grato :smiley:

A classe Graphics possui métodos que redimensionam imagens.

Não manjo muito de Graphics…
Porém achei algo que pode ajuadar!


private Image createThumbnail(Image image)   
  {   
    int sourceWidth = image.getWidth();   
    int sourceHeight = image.getHeight();   
    int thumbWidth = 64;   
    int thumbHeight = -1;   
  
    if (thumbHeight == -1)   
      thumbHeight = thumbWidth * sourceHeight / sourceWidth;   
  
    Image thumb = Image.createImage(thumbWidth, thumbHeight);   
    Graphics g = thumb.getGraphics();   
  
    for (int y = 0; y < thumbHeight; y++)   
    {   
      for (int x = 0; x < thumbWidth; x++)   
      {   
        g.setClip(x, y, 1, 1);   
        int dx = x * sourceWidth / thumbWidth;   
        int dy = y * sourceHeight / thumbHeight;   
        g.drawImage(image, x - dx, y - dy, Graphics.LEFT | Graphics.TOP);   
      }   
    }   
  
    Image immutableThumb = Image.createImage(thumb);   
  
    return immutableThumb;   
  }  

Dê uma olhada no JImagePanel, do projeto Towel (link na minha assinatura).

Ele faz redimensionamento automático. E você ainda pode escolher se quer lado-a-lado, centralizado ou esticado, como o desktop do Windows.