如何使用iText绘制部分抛物线?或者如何从三次贝塞尔曲线创建二次贝塞尔曲线?

时间:2010-05-01 19:03:42

标签: java pdf itext formula bezier

我需要使用iText绘制一个边界是抛物线部分(即二次贝塞尔曲线)的形状。我在PdfContentByte类中只发现了method for drawing cubic bezier curves

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

由于

1 个答案:

答案 0 :(得分:1)

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

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

其中P1,P2是原始二次曲线和相应的三次曲线的起点和终点。关于这个主题的更多信息是here(标题为:在一个三次贝塞尔曲线中转换二次贝塞尔曲线)。

还可以使用this方法使用iText绘制二次贝塞尔曲线的直接方法。我刚开始没看到它......