Мені потрібно визначити, чи вибраний 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");
}
}
Ще раз дякую :)