如何使用 iText 绘制抛物线的一部分?或者如何从三次贝塞尔曲线创建二次贝塞尔曲线?
我需要使用 iText 绘制一个形状,其边界是抛物线(即二次贝塞尔曲线)的一部分。我只找到PdfContentByte 类中绘制三次贝塞尔曲线的方法。
那么如何使用 iText 绘制二次贝塞尔曲线? 一种方法是使用三次贝塞尔曲线方法。是否可以将二次贝塞尔曲线绘制为三次贝塞尔曲线(具有 2 个控制点)。我猜是的,但我无法编出公式。如果有人陈述公式 tu 将三次贝塞尔曲线“转换”为二次曲线,就可以解决问题。 在 iText 中绘制二次贝塞尔曲线(抛物线的一部分)的任何其他方法(以及由它们制成的填充形状)也是解决方案。
谢谢
I need to draw a shape whose boundaries are parts of parabola (that is quadratic bezier curves) using iText. I have found only method for drawing cubic bezier curves in PdfContentByte class.
So how do I draw quadratic bezier curves using iText ?
One way would be to use method for cubic bezier curves. Is it possible to draw quadratic bezier curves as a cubic bezier curves (with 2 control points). I gues it is but I cannot make up the formula. If somebody states the formula tu "translate" cubic bezier curves to quadratic that would solve the problem.
Any other ways to draw quadratic bezier(parts of parabola) curves in iText (and filled shapes made of them) is also the solution.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于那些有兴趣回答的人,三次贝塞尔曲线的控制点 C1 和 C2 等于具有控制点 C 的二次贝塞尔曲线的公式为:
其中 P1、P2 是原始二次曲线和相应三次曲线的起点和终点。有关该主题的更多信息请参见此处(标题为:变换二次方程立方贝塞尔曲线中的贝塞尔曲线)。
还有一种使用 iText 绘制二次贝塞尔曲线的直接方法,使用 这个方法。我刚开始没看到...
For those interested in answer the formula for control points C1 and C2 of cubic bezier curve that is equal to quadratic bezier curve with control point C is:
where P1, P2 are beginning and end points of both original quadratic curve and corresponding cubic curve. More about the topic is here (under the title: Transforming a quadratic Bezier in a cubic Bezier).
There is also a direct way to draw quadratic bezier curves using iText using this method. I just did not see it at first...