图片旋转作为一个常见功能,实际使用中用处挺多,但是这次实现却遇到了个小问题,记录一二
使用的几个类
Graphics2d
AffineTransform
利用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();
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);