quinta-feira, 2 de julho de 2015

Redimencionando ou alterando tamanho de uma Imagem em Swing

Introdução

Há momentos que desejamos adicionar uma imagem em painel ou JLabel com tamanho específico mesmo que o tamanho real da imagem não seja esse.

Sintaxe:


ImageIcon imgnew ImageIcon(ImageIO.read()
.getScaledInstance(, , Image.SCALE_SMOOTH));



Onde:

  • - Path (caminho/url) onde está localizada a imagem que deseja-se inserir.
  • - Largura (width) a ser dimensionada.
  • - Altura (height) a ser dimensionada.

Exemplo:

Abaixo é possível ver uma imagem que está sendo redimencionada dentro de um label.


public static void main(String args[]) throws IOException
{
 JFrame jframe= new JFrame();
 jframe.setBounds(100, 100, 658, 284);

 JPanel panel=new JPanel();
 panel.setPreferredSize(new Dimension(300, 300));
 jframe.add(panel);
 JLabel b1 = new JLabel(new ImageIcon(ImageIO.read(new   File(File.separator+"tmp/duke.jpg"))
 .getScaledInstance(84, 30, Image.SCALE_SMOOTH)));
 b1.setBounds(421, 219, 84, 30);
 JLabel b2Redimencionado = new JLabel(new   ImageIcon(ImageIO.read(new  File(File.separator+"tmp/duke.jpg"))
 .getScaledInstance(168, 60, Image.SCALE_SMOOTH)));
 b2Redimencionado.setBounds(521, 219, 84, 30);
 panel.add(b1);
 panel.add(b2Redimencionado);

 panel.setVisible(true);
 jframe.setLocationRelativeTo(null);

 jframe.setVisible(true);



Abaixo é possível ver uma imagem redimencionada ao lado de outra.


Observação:
Para o código acima funcionar é necessário especificar o caminho do arquivo local para fazer redimensionamento.

Nenhum comentário:

Postar um comentário