Ios 如何";轮换;颜色的色调?
我想生成与给定的Ios 如何";轮换;颜色的色调?,ios,swift,colors,uicolor,Ios,Swift,Colors,Uicolor,我想生成与给定的UIColor匹配的颜色(三元、类似物、补码等) 我读过很多像和这样的帖子。在上一篇帖子中,回答者建议去easyrgb.com。 所以我去了那里。我了解到,如果我想生成那些配色方案,我需要将色调“旋转”一定程度。例如,对于三基色,我需要将其旋转±120度 我知道我可以通过调用getHue(:saturation:brightness:)来获得颜色的色调,但是我如何“旋转”它呢?该方法返回的色调不是数字吗?一个介于0和1之间的数字?这对我来说毫无意义 我认为第一篇文章可能有答案,但
UIColor
匹配的颜色(三元、类似物、补码等)
我读过很多像和这样的帖子。在上一篇帖子中,回答者建议去easyrgb.com。
所以我去了那里。我了解到,如果我想生成那些配色方案,我需要将色调“旋转”一定程度。例如,对于三基色,我需要将其旋转±120度
我知道我可以通过调用getHue(:saturation:brightness:)
来获得颜色的色调,但是我如何“旋转”它呢?该方法返回的色调不是数字吗?一个介于0和1之间的数字?这对我来说毫无意义
我认为第一篇文章可能有答案,但代码是用python编写的。我只学了一点python,所以我不太清楚这意味着什么:
h = [(h+d) % 1 for d in (-d, d)] # Rotation by d
从注释中,我看到这条线以某种方式将色调旋转了d度。但我不知道这个语法是什么意思
有人能告诉我如何旋转色调,或将上述代码转换为swift吗?色调分量的范围为0.0到1.0,对应于色轮中0º到360º的角度(比较) 要“旋转”色调分量
n
度,请使用:
let n = 120 // 120 degrees as an example
hue = fmod(hue + CGFloat(n)/360.0, 1.0)
fmod()
添加到0.0到1.0的范围
互补色的色调为
let hueComplement = fmod(hue + 0.5, 1.0)