Java2D - 变形/插值两个形状



有没有某种方法——一个库或一个算法——可以用来在java.awt.Shape的两个实例或其路径迭代器之间进行插值?例如,要在矩形和椭圆之间无缝过渡?或者更一般的Path2D情况.

  1. SwingX 项目中有一个类Morphing2D。然而,我的初步测试表明,它仅限于不包含SEG_MOVETO元素的形状,而且它不会在两个形状之间进行任何花哨的对齐,因此过渡并不总是理想的。

  2. 有一个包含Morphing2D的软件ReportMill。经过调查,该公司非法复制了原始的SwingX代码并将其粘贴到其闭源专有产品中。(向 GNU 提交了违反 LGPL 的行为)

  3. 我找到了一个似乎支持移动到命令的 JavaFX 示例。这可能包含在 JFX 1.x 中,但似乎不是 JFX 2.x 的一部分。在内部,使用与com.sun.javafx.geom.*之间的翻译似乎与标准java.awt.geom.*兼容98%,因此适应很容易。

编辑:我从JFX到Java2D的反向移植工作。

最新更新