根据背景图像更改字体颜色

时间:2014-06-14 09:57:26

标签: javascript html colors background

例如,在iPhone上,如果手机壁纸上无​​法读取白色,则图标标签的颜色会从白色变为黑色。 好吧,我想用Javascript重现它,如果可能的话。

我有这个HTML:

<div style="background-image: url(http://just5.net/wp-content/uploads/2014/05/OneRepublic-Counting-Stars.jpg)">
    <span style="color: white;">Counting Stars</span>
</div>

正如您在this fiddle上看到的那样,“Counting Stars”不可读,所以我想更改文本的颜色。我正在使用color-thief.js来获取图像的主色,但如何将它与背景图像一起使用?

2 个答案:

答案 0 :(得分:0)

我不认为任何这样的方法是可能的,无论如何你可以做一件事,你可以把图像放在一个数组中,然后用循环为它分配字体颜色值。

答案 1 :(得分:0)

即使您可以从图像中获取颜色,也会出现黑色和白色都不可读的图像。

我建议你在文本周围留一个微弱的阴影,即使背景为白色也会让它变得可读,并且在黑暗时它不会影响背景。例如:

text-shadow: rgba(0,0,0,0.5) 0 0 2px;

演示:http://jsfiddle.net/2WQJA/1/

您可以尝试不同的不透明度(示例中的0.5)和半径(示例中的2px)。