寻找多种六角色中最丰富多彩的颜色

时间:2013-12-29 22:33:09

标签: colors ios7

为了生成网页的动态配色方案,我从图像中读取了主色。这些包括一些非常暗和一些非常浅的颜色。所有这些都不是很好的作为配色方案的基础。

我需要从一组颜色中选择最丰富多彩/饱和的颜色。 我看过HSL值,并考虑使用具有最高S和L值的那些,但这也可以给我一些非常“脏”的颜色。

有解决这个问题的好方法吗?不知何故,这似乎是IOS7从专辑封面中选择颜色的方式。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您最好的选择是使用HSL转换和自定义映射来避免任何您不想要的色调:

CGFloat hue; // in degrees, [0,360)
NSArray undesirableHueRanges = @[NSMakeRange(25, 20), NSMakeRange(180, 20)]; // e.g., you don't want colors with hues between 25º to 45º and 180º to 200º

for (NSRange undesirableRange in undesirableHueRanges) {
    if (hue > undesirableRange.location && hue < NSMaxRange(undesirableRange)) {
        if (hue > undesirableRange.location + 0.5 * undesirableRange.length) {
            hue = NSMaxRange(undesirableRange);
        } else {
            hue = undesirableRange.location;
        }
    }
}

不要忘记在大多数Mac应用程序(包括Xcode)中使用内置颜色选择器来使用不同的颜色模式: Standard Color Picker in Mac OS X