1

我需要使用 iText 绘制一个形状,其边界是抛物线的一部分(即二次贝塞尔曲线)。我在 PdfContentByte 类中找到了绘制三次贝塞尔曲线的唯一方法。

那么如何使用 iText 绘制二次贝塞尔曲线?一种方法是使用三次贝塞尔曲线的方法。是否可以将二次贝塞尔曲线绘制为三次贝塞尔曲线(带有 2 个控制点)。我猜是这样,但我无法编造公式。如果有人陈述公式 tu 将三次贝塞尔曲线“转换”为二次曲线,这将解决问题。在 iText(以及由它们制成的填充形状)中绘制二次贝塞尔曲线(抛物线的一部分)的任何其他方法也是解决方案。

谢谢

4

1 回答 1

1

对于那些有兴趣回答的人,三次贝塞尔曲线的控制点 C1 和 C2 的公式等于带有控制点 C 的二次贝塞尔曲线:

C1 = 2/3*C + 1/3*P1
C2 = 2/3*C + 1/3*P2

其中P1,P2是原始二次曲线和对应三次曲线的起点和终点。有关该主题的更多信息,请参见此处(标题为:将二次贝塞尔曲线转换为三次贝塞尔曲线)。

还有一种直接的方法是使用 iText 使用这种方法绘制二次贝塞尔曲线。只是一开始没看到。。。

于 2010-05-02T23:40:30.780 回答