【问题标题】:How do I draw part of parabola using iText ? Or how do I create quadratic bezier curves from cubic bezier curves?如何使用 iText 绘制抛物线的一部分?或者如何从三次贝塞尔曲线创建二次贝塞尔曲线?
【发布时间】:2011-02-14 15:00:04
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: java pdf itext formula bezier


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-10
      • 2016-10-05
      • 2012-01-19
      • 2012-07-27
      • 2011-05-08
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多