Мне нужно определить, является ли выбранный UIColor (выбранный пользователем) темным или ярким, чтобы я мог изменить цвет строки текста, расположенной поверх этого цвета, для лучшей читаемости.
Вот пример во Flash / Actionscript (с демонстрацией): http://web.archive.org/web/20100102024448/http://theflashblog.com/?p=173
Есть предположения?
Привет, Андре
ОБНОВИТЬ
Благодаря всем предложениям вот рабочий код:
- (void) updateColor:(UIColor *) newColor
{
const CGFloat *componentColors = CGColorGetComponents(newColor.CGColor);
CGFloat colorBrightness = ((componentColors[0] * 299) + (componentColors[1] * 587) + (componentColors[2] * 114)) / 1000;
if (colorBrightness < 0.5)
{
NSLog(@"my color is dark");
}
else
{
NSLog(@"my color is light");
}
}
Еще раз спасибо :)