code: public static Image getScaledInstance(Image img, int targetWidth, int targetHeight) {
  		final int type = BufferedImage.TYPE_INT_ARGB;
  		Image ret = img;
  		final int width = ret.getWidth(null);
  		final int height = ret.getHeight(null);
  		if (width != targetWidth && height != targetHeight) {
  			// a priori plus performant que Image.getScaledInstance
  			final BufferedImage scratchImage = new BufferedImage(targetWidth, targetHeight, type);
  			final Graphics2D g2 = scratchImage.createGraphics();
  			g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
  					RenderingHints.VALUE_INTERPOLATION_BILINEAR);
  			g2.drawImage(ret, 0, 0, targetWidth, targetHeight, 0, 0, width, height, null);
  			g2.dispose();
  			ret = scratchImage;
  		}
  		return ret;
  	}
docs: Redimensionne une image.
  @param img Image
  @param targetWidth int
  @param targetHeight int
  @return Image