1

我正在开发一个 Mac 应用程序,我想像雷达一样绘制视图,但我找不到沿弧线绘制渐变颜色的方法。现有方法仅向一个方向绘制梯度。

4

2 回答 2

5

你想要的是一个角度渐变。我写了一个生成角度渐变的核心图像过滤器;给它一个不透明的颜色(例如,绿色)作为开始颜色和完全透明的颜色作为中间和结束颜色。

角度渐变有绿色、透明绿色和透明绿色。

(过滤器的输出实际上是无限的,并且以原点为中心,因此您需要将其屏蔽为一个圆圈并在一个或另一个级别使用仿射变换将其置于正确的位置。)

额外的功劳:在该过滤器的内核代码中(靠近 .m 的开头),有一条线以直线向上(90°)而不是直线向右开始渐变。您可以使用 CABasicAnimation 或类似的东西更改过滤器和内核的代码,以使其成为inputStartColor可以随时间变化的参数(如等)。

于 2013-06-01T21:53:47.887 回答
0

您需要结合使用轴向和径向渐变,可能还需要一些剪切路径。您可以在此处找到所有这些文档。

您还可以使用colorWithPatternImage:描边您正在绘制的任何线条。

于 2013-06-01T10:13:30.580 回答