ImageView使用什么参考点。setRotate(40)
在Javafx中旋转图像?
我正在写
ImageView iv = new ImageView(image);
iv.setRotate(40);
SnapshotParameters params = new SnapshotParameters();
params.setFill(Color.TRANSPARENT);
Image rotatedImage = iv.snapshot(params, null);
gc.drawImage(rotatedImage, 0, 0);
但是图像不会相对于图像的中心旋转。
从rotate()文档中:
旋转所围绕的轴心点是未转换布局边界的中心。
因此,图像将围绕它的中心点旋转。
样本:
import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.SnapshotParameters;
import javafx.scene.canvas.Canvas;
import javafx.scene.image.*;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class Rotor extends Application {
public static final String LOC =
"http://icons.iconarchive.com/icons/custom-icon-design/flatastic-10/64/Bear-icon.png";
@Override
public void start(Stage stage) throws Exception {
ImageView iv = new ImageView(new Image(LOC));
iv.setRotate(40);
SnapshotParameters params = new SnapshotParameters();
params.setFill(Color.TRANSPARENT);
Canvas canvas = new Canvas(100, 100);
Image rotatedImage = iv.snapshot(params, null);
canvas.getGraphicsContext2D().drawImage(rotatedImage, 0, 0);
stage.setScene(new Scene(new Group(canvas)));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在画布上绘制旋转图像时,您可能希望使用画布变换而不是快照方法来帮助完成此操作。例如,见:
我正在做一个简单的模拟,并且在寻找一个旋转的、大小怪异的ImageView节点的X和Y坐标时遇到了很多麻烦。(蓝色的部分是前面) 目标是在旋转后找出相对于imageView指向的方向的XY坐标。我可以找到imageView相对于其起始位置的角度,但我不知道如何获得imageView相对于该角度的XY坐标。从那以后。setRotate(angle)方法不会更改imageView的X和Y位置,我应该如
我在这个网站上看到过关于javafx中旋转的问题,但我似乎不太明白。下面是一些代码: 为什么当我改变角度时,矩形开始出现在随机位置?例如,当我将角度设置为 180 时,矩形出现在中间。我的理解是,矩形围绕 X:150 和 Y:225 以指定的角度移动。但是,当我将角度设置为180时,我完全错了。你们能帮帮我吗? 编辑:在阅读和看到回答这个问题的代码时,我想我发现了一个新问题。如何设置pivotX和
我正在玩JavaFX,在类开始(阶段阶段)我有以下代码: 我如何在不旋转轴的情况下旋转它?我发现并尝试了以下方法: 然而,当我使用改变位置x移动图像时,它也会变换轴 它可能与BuffereImage一起工作,但他们使用不同的图形类绘制它,我不知道如何使它一起工作。 编辑:好的,如何只旋转图像而不旋转整个图形上下文? 已解决:谢谢大家的帮助:))我已经用这个解决了它
我想旋转组中的图像,并将该组放入HBox中,而没有明显的“弹跳”效果。上图是一个使用JavaFX形状代替图像的例子,但最终结果是一样的。顶部的HBox包含一个旋转矩形,它看起来很好。底部的HBox在同一组中包含一个矩形和一个圆形,但是旋转矩形会导致“弹跳”副作用。为什么会弹跳?以下是我的代码:
当我尝试使用旋转图像视图时,我现在开始学习JavaFX 它绕着它的中轴线旋转,但是当我尝试使用 它随机旋转,我不知道它的旋转轴是一样的
我试着绕着它的中心旋转一个矩形。使用GraphicsContext ie gc将旋转绘制到画布上。这是我的绘图代码。 这会将矩形移动到其中心,然后围绕其左上角点旋转矩形。我试着把两边的长度和宽度减半,但那只会让它飞得到处都是。我数学不好也许这里有更好的人能告诉我我做错了什么。 如果需要的话,我还存储了矩形的所有四个点(角)。 谢了乔