如何沿弧线绘制渐变

6 1*_*6 1 1 cocoa objective-c

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

Pet*_*sey 5

你想要的是一个角度梯度.我写了一个生成角度梯度的Core Image滤镜 ; 给它起始颜色的不透明颜色(例如绿色)和中间颜色和最终颜色的颜色的完全透明版本.

角度渐变,绿色,透明绿色和透明绿色.

(滤波器的输出实际上在范围内是无限的并且以原点为中心,因此您需要将其掩盖为圆形并在一个级别或另一个级别使用仿射变换将其置于正确的位置.)

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