有没有替代javax.imageio的好方法?

有没有替代javax.imageio的好方法?,java,javax.imageio,Java,Javax.imageio,我正在寻找一个替代javax.imageio包的好方法,它允许我对图像执行简单的旋转、剪切和缩放操作。例如,我想做什么 int angle, height, width; image.rotateRight(angle).scale(height, width); 以获得向右旋转角度度并缩小到高度x宽度像素的图像 使用Graphics2D和BuffereImage,我必须这样做,这既不可读,也不容易写: BufferedImage result = new BufferedImage(widt

我正在寻找一个替代javax.imageio包的好方法,它允许我对图像执行简单的旋转、剪切和缩放操作。例如,我想做什么

int angle, height, width;
image.rotateRight(angle).scale(height, width);
以获得向右旋转角度度并缩小到高度x宽度像素的图像

使用Graphics2D和BuffereImage,我必须这样做,这既不可读,也不容易写:

BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = result.createGraphics();
graphics.translate(height/2, width/2);
graphics.rotate(angle);
graphics.translate(-width/2, -height/2);
graphics.drawImage(image, 0, 0, width, height, null);
(事实上,该代码甚至没有考虑到非方形图像,这将需要我在翻译过程中发挥更大的魔力)。

有一个代码包含了一些有用的东西,比如


但是我承认我觉得你上面的例子很可读,所以我不确定你会得到更多你喜欢的东西:-)

我同意布赖恩的观点:JAI对你来说是个很好的选择。您可能需要编写一些delegator对象来获得所需的可读代码,并使用它来代替JAI-API

也可以使用Processing()。它的API比JAI API简单。使用处理的结果是,默认情况下,缩放和旋转操作的质量会更好