我有一个缓冲图像,即:
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);
但我不知道如何用缓冲图像做到这一点?你能救我吗?
答案 0 :(得分:4)
示例:
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);
另见: