1. 程式人生 > >Java 實現圖片旋轉及問題小結

Java 實現圖片旋轉及問題小結

圖片旋轉

圖片旋轉作為一個常見功能,實際使用中用處挺多,但是這次實現卻遇到了個小問題,記錄一二

使用的幾個類

  • Graphics2d
  • AffineTransform
  • BufferedImage

1. Graphics2d 方式

利用Graphics2d的rotate方法來實現圖片旋轉,奇怪的是一直不生效,實現程式碼如下

BufferedImage bufferedImage = ImageUtil.getImageByPath("bg.png");
Graphics2D g2d = bufferedImage.createGraphics();
g2d.rotate(Math.toRadians(90
), bufferedImage.getWidth() >> 1, bufferedImage.getHeight() >> 1); g2d.dispose();

2. AffineTransform 方式

BufferedImage bufferedImage = ImageUtil.getImageByPath("bg.png");

AffineTransform tx = new AffineTransform();
tx.rotate(0.5, bufferedImage.getWidth() / 2, bufferedImage.getHeight() / 2
); AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR); bufferedImage = op.filter(bufferedImage, null);

參考