0

在我看来,DC对任何类型曲线的唯一支持是样条曲线。有没有添加贝塞尔函数的库,或者有没有办法将贝塞尔曲线转换为样条曲线?

4

2 回答 2

2

给定 4 个控制点,相关三次贝塞尔曲线的公式不难计算。一旦你计算了曲线上的一组点,你就可以用DC.DrawLines它来绘制它。

这里有一个用于计算广义贝塞尔曲线(无耻插件)上的点的 python 实现。从某种意义上说,它是广义的,它可以接受任意数量的控制点 (>2) 作为make_bezier. 如果您只想要 4 控制点版本,您可以完全剪掉pascal_row并替换

combinations=pascal_row(n-1)

combinations=(1,3,3,1)
于 2010-02-27T03:48:48.083 回答
1

经过一番谷歌搜索,我想我会选择wx.GraphicsContext,它支持wx.GraphicsPath。除了抗锯齿之外,它似乎完全符合我的需要(根据此页面

于 2010-02-27T05:54:28.190 回答