Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何";轮换;颜色的色调?_Ios_Swift_Colors_Uicolor - Fatal编程技术网

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)