2013-06-01 73 views
1

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

+0

渐变图总是一件昂贵的事情,它会被用于一个目的。在你的情况下,你可以使用图像。 –

+1

如何在photoshop中创建图像,看起来像您的雷达,并简单地旋转它? – pmk

+0

我不想使用图像,因为雷达视图的大小会发生变化 –

回答

5

你想要的是一个角度渐变。我写了a Core Image filter that generates an angle gradient;为其开始颜色赋予不透明颜色(例如绿色),并为中间和终止颜色赋予该颜色的完全透明版本。

Angle gradient with green, transparent green, and transparent green.

(该滤波器的输出是范围实际上无限的,以原点为中心,所以你需要来掩盖它出去一圈,利用仿射变换在一个级别或其他它进入)

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

+0

+1超级解决方案。 –

0

您需要使用轴向和径向渐变的组合,并且可能还需要一些剪切路径。你可以找到所有这些文件here

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