使用HSL亮度系数从SKColor返回浅色

时间:2015-05-03 07:11:53

标签: ios swift sprite-kit uicolor

我有一个iOS SKColor,我想转换为较浅的阴影(不透明,没有透明度/没有透明度),因此我想使用HSL亮度来实现一个返回SKColor的函数。即。在函数内部,将原始SKColor转换为HSL等效值,然后将值应用于HSL亮度以获得更浅的色调,然后将此HSL颜色转换回我可以使用的SKColor。

1 个答案:

答案 0 :(得分:0)

正如官方SKColor文档所述,在iOS上,SKColor只是UIColor。因此:

UIColor *uicolor = (UIColor *)skcolor;
CGFloat h, s, b, a; // lightness is called 'brightness' 
[uicolor getHue:&h saturation:&s brightness:&b alpha:&a];

// (play with your brightness value here)

SKColor *skcolor2 = (SKColor *)[UIColor colorWithHue:h saturation:s brightness:b alpha:a];