有什么简单的方法可以使用 java 绕 z 轴旋转图像而无需跳转到 java 3d?
Is there any easy way to rotate an image about z axis using java without jumping into java 3d?
我想使用 java 绕 z 轴旋转图像。
我试图寻找方法来做到这一点,但它涉及复杂的矩阵操作,并且适用于 3d 模型和东西。如果没有其他办法,我会求助于此,但想知道是否还有其他选择。
我只需要围绕 z 轴旋转图像即可。
编辑
这正是我需要的:
我有这样一张图片:
我想把它转换成这样的东西:
我使用处理来完成此操作。我需要一些方法来使用 java.
如果您指的是在 Swing paint
操作期间旋转图像,那么正确的方法是使用 AffineTransform
.
Graphics2D graphic;
graphic.drawRenderedImage(image, AffineTransform.getRotateInstance(Math.PI));
不幸的是 AffineTransform
不支持透视变换(根据定义,如果平行线保持平行,则变换仅是仿射变换)。对于透视变换,您需要使用可以从 Oracle 站点下载的 Java 高级成像 API。它有一个 PerspectiveTransform
可以满足您的需求。不幸的是,JAI 使用起来并不那么简单,因为它更加灵活。
我想使用 java 绕 z 轴旋转图像。
我试图寻找方法来做到这一点,但它涉及复杂的矩阵操作,并且适用于 3d 模型和东西。如果没有其他办法,我会求助于此,但想知道是否还有其他选择。
我只需要围绕 z 轴旋转图像即可。
编辑
这正是我需要的:
我有这样一张图片:
我想把它转换成这样的东西:
我使用处理来完成此操作。我需要一些方法来使用 java.
如果您指的是在 Swing paint
操作期间旋转图像,那么正确的方法是使用 AffineTransform
.
Graphics2D graphic;
graphic.drawRenderedImage(image, AffineTransform.getRotateInstance(Math.PI));
不幸的是 AffineTransform
不支持透视变换(根据定义,如果平行线保持平行,则变换仅是仿射变换)。对于透视变换,您需要使用可以从 Oracle 站点下载的 Java 高级成像 API。它有一个 PerspectiveTransform
可以满足您的需求。不幸的是,JAI 使用起来并不那么简单,因为它更加灵活。