gpt4 book ai didi

iphone - 如何获取随机 UIColor 但将其限制为颜色的子集

转载 作者:行者123 更新时间:2023-12-03 19:00:10 25 4
gpt4 key购买 nike

我知道如何获得随机的 UIColor,但我想知道是否存在一种仅返回具有某些特定质量的颜色的方法。我不知道是否存在一个特定的术语,但例如,我只需要获得不透明的颜色、暗色调......适合带有明亮文本/图像的背景的颜色。

我可以手工挑选一些,但就我而言,我想为大量图标背景提供非常好的默认值。

更新:

我的解决方案基于此处的答案:

float r = arc4random() % 12; 

return [UIColor colorWithHue:(30*r)/360 saturation:0.5f brightness:0.8f alpha:1.0f];

我得到了一个非常小的可能答案列表,但这给了我一个良好的开始。

最佳答案

我要做的是使用 HSV/HSL 颜色空间,然后将结果转换为 RGB。保持您喜欢的恒定值和饱和度(S 和 V),然后根据您想要的颜色数量更改色调 (H) 值。将结果转换为 RGB,您将获得一组看起来可以很好地协同工作的颜色。您可以创建任何一组“饱和”、“亮”、“暗”等漂亮颜色,只需根据您的需要选择 S 和 V 的良好组合即可(低 V 为暗,高 V 为亮,低 S 为不饱和,高S为饱和)。

看看this wiki page有关将 HSV 转换为 RGB 的讨论。我建议您从饱和度 (S) 为 0.5、值 (V) 为 0.8 开始。然后,要生成漂亮的颜色,请对 H 值 0、30、60、90... 一直到 360 进行 HSV -> RGB 转换。它将生成一个漂亮的调色板,这些颜色在一起看起来很好。稍后,如果您想要不同的颜色“质量”,您可以调整 S 和 V 值。

关于iphone - 如何获取随机 UIColor 但将其限制为颜色的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com