Objective-c:如何创建不同颜色的阴影

是否有任何算法可以为给定的Hex或RGB值创建不同的阴影? 我尝试过使用增加和减少的alpha值,但是对于浅色调它看起来并不好(例如:白色)。

在此处输入图像描述

最好的方法是使用HSB色彩空间。

这就是我在最新应用程序中使用键盘左手部分的方法……

在此处输入图像描述

颜色的“阴影”是H值和S值。 然后,您可以通过调整B值来更改亮度。

所以,如果你有一个像…的颜色

HSB – 0.5,0.9,0.9 – 非常浅蓝色

您可以通过更改B值来创建更暗的阴影…

HSB – 0.5,0.9,0.3 -相同色调的深蓝色。

创建HSB颜色,如…

 UIColor *color = [UIColor colorWithHue:0.5 saturation:0.9 brightness:0.4 alpha:1.0]; 

在我的应用程序中,我有一个“最亮的亮度”和一个“最暗的亮度”。

我通过将它们之间的差除以部分的数量来计算每个部分的亮度变化。

使用for循环我能够轻松创建不同的部分颜色。