在JavaFX 2.2中,除了将Transform
对象添加到Node
之外,您似乎无法做很多事情。特别是,没有代数运算,因此您可以与另一个进行一次转换。
我想原因是大多数计算应该由GPU直接完成,所以不要让人们尝试以编程方式进行,这样可以防止一些减速。
但有时你确实想知道应用转换的最终结果是什么。特别是,java.awt.geom.AffineTransform
有一个很好的方法createTransformedShape
,可以将java.awt.Shape
转换为给定转换下的等效形状。我在JavaFX中找不到任何相同的东西,我想不出解决方法。
我是否遗漏了某些内容,或者是否有人有一个不需要重新实施Shape
课程的聪明主意?
答案 0 :(得分:2)
我不相信Java 8中添加了AffineTransform.createTransformedShape
的精确等价物。但是,您可以通过向shape's transform list添加变换将变换应用于形状。所以在某种程度上,变换后的形状只是一个形状,在其变换列表中有一些自定义变换。
JavaFX中的Transform函数对于允许Java 8的composition of transformations进行了大大增强。此外,Point2D和Point3D类添加了代数运算等各种向量。