dimensionar a imagem em java

Tenho uma imagem png e quero redimensioná-la.Como posso fazer isso? Apesar de ter passado por isto, não consigo entender o trecho.

Author: Community, 2011-05-05

3 answers

Se você tem um Image, alterá-lo não requer qualquer bibliotecas adicionais. Apenas faça:

Image newImage = yourImage.getScaledInstance(newWidth, newHeight, Image.SCALE_DEFAULT);

Ovbiously, substituir newWidth e newHeight com as dimensões da imagem especificada.
Repare no último parâmetro: diz ao tempo de execução o algoritmo que deseja usar para redimensionar.

Existem algoritmos que produzem um resultado muito preciso, no entanto estes levam um grande tempo para completar.
Você pode usar qualquer um dos seguintes algoritmos:

  • Image.SCALE_DEFAULT: usar o algoritmo de escala de imagens por omissão.
  • Image.SCALE_FAST: escolha um algoritmo de escala de imagens que dê maior prioridade à velocidade de escala do que à suavidade da imagem escalada.
  • Image.SCALE_SMOOTH: escolha um algoritmo de escala de imagens que dê maior prioridade à suavidade da imagem do que à velocidade de escala.
  • Image.SCALE_AREA_AVERAGING: usar o algoritmo de dimensionamento de imagens de média de área.
  • Image.SCALE_REPLICATE: usar a imagem algoritmo de escala incorporado na classe ReplicateScaleFilter.

Veja o Javadoc para mais informações.

 50
Author: Alba Mendez, 2018-01-04 10:01:41
Estamos a fazer isto para criar miniaturas de imagens.
  BufferedImage tThumbImage = new BufferedImage( tThumbWidth, tThumbHeight, BufferedImage.TYPE_INT_RGB );
  Graphics2D tGraphics2D = tThumbImage.createGraphics(); //create a graphics object to paint to
  tGraphics2D.setBackground( Color.WHITE );
  tGraphics2D.setPaint( Color.WHITE );
  tGraphics2D.fillRect( 0, 0, tThumbWidth, tThumbHeight );
  tGraphics2D.setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR );
  tGraphics2D.drawImage( tOriginalImage, 0, 0, tThumbWidth, tThumbHeight, null ); //draw the image scaled

  ImageIO.write( tThumbImage, "JPG", tThumbnailTarget ); //write the image to a file
 11
Author: Thomas, 2011-05-05 10:03:17

Tenta isto:

ImageIcon icon = new ImageIcon(UrlToPngFile);
Image scaleImage = icon.getImage().getScaledInstance(28, 28,Image.SCALE_DEFAULT);
 5
Author: Harry Joy, 2011-05-05 10:03:01