php - 使用 jQuery 或 PHP 检测较暗或较亮的背景颜色

标签 php jquery colors

这个有点难。我为网站演示制作了一个样式切换器,可以更改特定的 div 背景颜色。一切正常,但由于该 div 还包含文本和标题,如果访问者将背景更改为白色,标题和文本就会消失。

因此,我不是为该容器添加标题或文本的开关,而是检测背景颜色的变化,这样会影响内部的文本。

通过使用 Tyny color jQuery 插件,我将标题和段落的颜色设置为浅 30%,并且几乎可以正常工作,但是一旦你变成白色或接近白色,我需要将其切换为深色。

有没有办法使用 jQuery TinyColor 和 Colorpicker 插件或 php 来检测较暗/较亮的颜色代码?我还要求 php 的原因是因为我也将该演示移植到 php,所以任何一个都适合我。

我在这里设置了一个小演示供您测试 http://jsfiddle.net/mwVz6/12/

代码非常简单,对于演示和我的切换器,我使用的颜色选择器 http://www.eyecon.ro/colorpicker/

$('#colorSelector').ColorPicker({
    color: '#0000ff',
    onShow: function (colpkr) {
        $(colpkr).fadeIn(500);
        return false;
    },
    onHide: function (colpkr) {
        $(colpkr).fadeOut(500);
        return false;
    },
    onChange: function (hsb, hex, rgb) {
        $('#container').css('backgroundColor', '#' + hex);
    }
});

最佳答案

这对你有用吗?

https://github.com/joggink/jquery-colorcontrast

http://24ways.org/2010/calculating-color-contrast/

您最好的选择可能是开发一个函数来计算 2 个特定颜色彼此之间的接近程度的增量(差异)。如果增量低于某个阈值,则将文本颜色增加到该阈值。挑战在于确定颜色应该更深还是更浅。

关于php - 使用 jQuery 或 PHP 检测较暗或较亮的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17798392/

相关文章:

javascript - 当 tbody 不存在时追加到表以及如何使所有现有 jquery 适用于该行

java - Color == Robot.getPixelColor 结果为 false,即使它们是相同的颜色?

python - 将 RGB 热图图像转换为灰度热图的正确方法

python - 诅咒 can_change_color() 总是返回 False

php - 如何在PHP扩展中捕获上传的文件数据

php - mysqlnd驱动只有一个api扩展(pdo_mysql)

php - 使用 PHP 输出数组

php - Html 表单提交复选框 - 更改 mysql 表中的值

jQuery 迭代嵌套对象显示所有嵌套对象的键

php - 为什么我的 html/php/ajax 返回查询中的所有行