I've made Java port of the imageresampler
library for high quality image rescaling. I'm using it for generating mipmaps as the simple box filter is too low on quality (especially for textures with obvious patterns).
Here it is: Resampler.java
BufferedImage img = ImageIO.read(new File("original.png"));
img = Resampler.rescale(img, width, height, gamma, 1.0f, new Resampler.LanczosFilter(4), BoundaryOp.WRAP);
ImageIO.write(img, "png", new File("scaled.png"));
You can also use the contructor for more custom usage including stream processing of big images.