0

我有两条曲线,一条在另一条之内,例如圆内的椭圆。我需要在它们之间创建渐变。

这是更好解释的公式:

d_e = min_dist(ellipse,pixel)
d_c = min_dist(circle,pixel)
pixel_color = (e_color * d_e + c_color * d_c) / (d_e + d_c)
4

1 回答 1

1

开罗只有由两个圆定义的放射状图案,而不是椭圆和圆。

其他替代方案是网格梯度(cairo 1.12 中的新功能),但为此您需要自己计算分段近似值。听起来很难,只是一个粗略的近似值。

所以我想我能提出的最好建议是:通过自己设置单个像素来自己绘制那个东西,并将结果用作图像表面。

于 2012-06-16T15:11:53.087 回答