基于背景图像的文本颜色

Ed *_*iss 9 objective-c ios ios7

我的视图有一个带有文本标签覆盖的背景图像什么是基于背景图像确定文本颜色的最好/最好的动态方式,因此它可以读取(现在,我只对确定文本颜色应该是暗的还是感兴趣光)

谢谢 :)

Bot*_*Bot 14

通过提到的链接找到平均颜色

然后设置文本样式

CGFloat red = 0.0, green = 0.0, blue = 0.0, alpha = 0.0;
[averageColor getRed:&red green:&green blue:&blue alpha:&alpha];

int threshold = 105;
int bgDelta = ((red * 0.299) + (green * 0.587) + (blue * 0.114));

UIColor *textColor = (255 - bgDelta < threshold) ? [UIColor blackColor] : [UIColor whiteColor];
Run Code Online (Sandbox Code Playgroud)

这样的事情.

您还可以使用上面的链接UIColor从图像中获取并使用亚光的 UIColor 类别来获得亮或暗.


woz*_*woz 7

我的第一个是找到图像的平均颜色,并根据它设置文本颜色.当然,图像可能包含亮区和暗区,因此您选择的颜色有时可能无法读取.

要查找图像的平均颜色,请尝试以下操作:

http://www.bobbygeorgescu.com/2011/08/finding-average-color-of-uiimage/

获得平均颜色后,请检查红色,绿色和蓝色值.如果它们"足够高"(无论你将其定义为什么),请使用深色文本,否则使用浅色文本.