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
Example usage:
BufferedImage img = ImageIO.read(new File("original.png"));
img = Resampler.rescale(img, width, height, gamma, 1.0f, new Resampler.LanczosFilter(4)/*BoxFilter()*/, 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.