有没有一种方法 - 一个库或一个算法 - 可以用于在两个java.awt.Shape
实例之间进行插值,或者其路径迭代器?例如,无缝过渡从矩形到椭圆形?或更一般的情况下,是Path2D
。
有没有一种方法 - 一个库或一个算法 - 可以用于在两个java.awt.Shape
实例之间进行插值,或者其路径迭代器?例如,无缝过渡从矩形到椭圆形?或更一般的情况下,是Path2D
。
在SwingX项目中有一个名为Morphing2D
的类。然而,我的初步测试显示,它仅限于不包含SEG_MOVETO
元素的形状,并且它不会在两个形状之间进行任何高级对齐,因此转换并不总是理想的。
有一个软件ReportMill,其中包含一个Morphing2D。经过调查,该公司非法复制了原始的SwingX代码并将其粘贴到他们的闭源专有产品中。(已向GNU提交LGPL违规报告)
我发现了一个JavaFX的示例,似乎支持移动命令。这可能已经包含在JFX 1.x中,但似乎不是JFX 2.x的一部分。内部使用了从com.sun.javafx.geom.*
翻译到java.awt.geom.*
的转换,这似乎与标准的java.awt.geom.*
相容度达到了98%,因此适应很容易。
编辑:我的从JFX到Java2D的回退可行。