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