Java 實現圖片旋轉及問題小結
阿新 • • 發佈:2019-02-08
圖片旋轉
圖片旋轉作為一個常見功能,實際使用中用處挺多,但是這次實現卻遇到了個小問題,記錄一二
使用的幾個類
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);