我有一个缓冲图像即:
BufferedImage buffer = ImageIO.read(new File(file));
现在我想旋转它..那我该怎么做呢??
以前我使用的图像格式是:
Image image = ImageIO.read(new File(file));
并且可以使用以下方法轻松旋转图像:
AffineTransform at = new AffineTransform();
at.rotate(0.5 * angle * Math.PI, width/2, height/2);
但我不知道如何使用缓冲图像来做到这一点??你能帮帮我吗??
最佳答案
例子:
BufferedImage buffer = ImageIO.read(new File(file));
AffineTransform tx = new AffineTransform();
//tx.scale(scalex, scaley);
//tx.shear(shiftx, shifty);
//tx.translate(x, y);
tx.rotate(radians, buffer.getWidth()/2, buffer.getHeight()/2);
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
buffer = op.filter(buffer, null);
另见:
关于java - 如何在 java 中旋转缓冲图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132454/