解决:
|
static BufferedImage rotateImg90(BufferedImage image, boolean left) { var ret = new BufferedImage(image.getHeight(), image.getWidth(), image.getType()); Graphics2D g2d = (Graphics2D) ret.getGraphics(); double rotationRequired = Math.toRadians(left ? 90 : -90); double locationX = image.getWidth() / 2; double locationY = image.getHeight() / 2; AffineTransform tx = AffineTransform.getRotateInstance(rotationRequired, locationX, locationY); AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR); g2d.drawImage(image, op, 0, 0); g2d.dispose(); return ret; } |
注意 BufferedImage type 如果不对会看不到图片
参考:
https://docs.oracle.com/javase/tutorial/2d/images/drawimage.html