在 Java 中调整图像大小

2022-09-01 01:44:01

我有一个 PNG 图像,我想调整它的大小。我该怎么做?虽然我经历了这一点,但我无法理解这个片段。


答案 1

如果您有 一个 ,调整大小不需要任何其他库。只需做:java.awt.Image

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

显然,将 和 替换为指定图像的尺寸。
请注意最后一个参数:它告诉运行时要用于调整大小的算法newWidthnewHeight

有些算法可以产生非常精确的结果,但是这些算法需要很长时间才能完成。
您可以使用以下任何算法:

有关详细信息,请参阅 Javadoc


答案 2

我们这样做是为了创建图像的缩略图:

  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

推荐