JavaFX中是否有等效的AffineTransform.createTransformedShape(Shape)?

时间:2014-02-17 01:22:06

标签: java javafx awt

在JavaFX 2.2中,除了将Transform对象添加到Node之外,您似乎无法做很多事情。特别是,没有代数运算,因此您可以与另一个进行一次转换。

我想原因是大多数计算应该由GPU直接完成,所以不要让人们尝试以编程方式进行,这样可以防止一些减速。

但有时你确实想知道应用转换的最终结果是什么。特别是,java.awt.geom.AffineTransform有一个很好的方法createTransformedShape,可以将java.awt.Shape转换为给定转换下的等效形状。我在JavaFX中找不到任何相同的东西,我想不出解决方法。

我是否遗漏了某些内容,或者是否有人有一个不需要重新实施Shape课程的聪明主意?

1 个答案:

答案 0 :(得分:2)

我不相信Java 8中添加了AffineTransform.createTransformedShape的精确等价物。但是,您可以通过向shape's transform list添加变换将变换应用于形状。所以在某种程度上,变换后的形状只是一个形状,在其变换列表中有一些自定义变换。

JavaFX中的Transform函数对于允许Java 8composition of transformations进行了大大增强。此外,Point2DPoint3D类添加了代数运算等各种向量。