You can create a new BufferedImage of the desired size, and then scale the original image to a new one:
BufferedImage resizedImage = new BufferedImage(new_width, new_height, BufferedImage.TYPE_INT_ARGB); Graphics2D g = resizedImage.createGraphics(); g.drawImage(image, 0, 0, new_width, new_height, null); g.dispose();
source share