为了生成网页的动态配色方案,我从图像中读取主色。这些包括一些非常深的颜色和一些非常亮的颜色。所有这些都不能很好地作为配色方案的基础。
我需要从一组颜色中选择最五颜六色/饱和度最高的颜色。我已经查看了HSL-value,并考虑使用那些具有最高S和L值的值,但这也会给我带来一些非常“脏”的颜色。
有没有解决这个问题的好办法?不知何故,这看起来像是IOS7从专辑图片中选择颜色的方式。
谢谢你的帮助!
发布于 2013-12-30 06:59:49
最好的办法是将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)中的内置颜色选择器来处理不同的颜色模式:

https://stackoverflow.com/questions/20830853
复制相似问题