为了生成网页的动态配色方案,我从图像中读取了主色。这些包括一些非常暗和一些非常浅的颜色。所有这些都不是很好的作为配色方案的基础。
我需要从一组颜色中选择最丰富多彩/饱和的颜色。 我看过HSL值,并考虑使用具有最高S和L值的那些,但这也可以给我一些非常“脏”的颜色。
有解决这个问题的好方法吗?不知何故,这似乎是IOS7从专辑封面中选择颜色的方式。
感谢您的帮助!
答案 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)中使用内置颜色选择器来使用不同的颜色模式: