Tôi cần xác định xem một UIColor đã chọn (do người dùng chọn) là tối hay sáng, vì vậy tôi có thể thay đổi màu của dòng văn bản nằm trên màu đó, để dễ đọc hơn.
Đây là một ví dụ trong Flash / Actionscript (với bản trình diễn): http://web.archive.org/web/20100102024448/http://theflashblog.com/?p=173
Có suy nghĩ gì không?
Chúc mừng, Andre
CẬP NHẬT
Nhờ mọi người góp ý, đây là mã hoạt động:
- (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");
}
}
Một lần nữa xin cảm ơn :)