如何在java中旋转bufferedimage?

时间:2012-02-03 17:02:32

标签: java image-processing bufferedimage

我有一个缓冲图像,即:

  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);

但我不知道如何用缓冲图像做到这一点?你能救我吗?

1 个答案:

答案 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);

另见: