当前位置: 首页 > 面试题库 >

根据覆盖的背景区域的亮度更改文本颜色?

东方玉泽
2023-03-14
问题内容

我已经考虑了以下内容,所以现在我想知道您的意见,可能的解决方案等。

我正在寻找一种插件或技术来更改文本的颜色,或者根据其父​​级背景图像或-color覆盖像素的平均亮度在预定义的图像/图标之间切换。

如果背景覆盖的区域很暗,请将文本设置为白色或切换图标。

此外,如果脚本会注意到父级没有定义的background-color或-image,然后继续搜索最接近的值(从父元素到其父元素),那将是很好的选择。

您对此想法有什么看法?已经有类似的东西了吗?脚本示例?

干杯J.


问题答案:

const rgb = [255, 0, 0];

// Randomly change to showcase updates

setInterval(setContrast, 1000);



function setContrast() {

  // Randomly update colours

  rgb[0] = Math.round(Math.random() * 255);

  rgb[1] = Math.round(Math.random() * 255);

  rgb[2] = Math.round(Math.random() * 255);



  // http://www.w3.org/TR/AERT#color-contrast

  const brightness = Math.round(((parseInt(rgb[0]) * 299) +

                      (parseInt(rgb[1]) * 587) +

                      (parseInt(rgb[2]) * 114)) / 1000);

  const textColour = (brightness > 125) ? 'black' : 'white';

  const backgroundColour = 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')';

  $('#bg').css('color', textColour);

  $('#bg').css('background-color', backgroundColour);

}


#bg {

  width: 200px;

  height: 50px;

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>



<div id="bg">Text Example</div>


 类似资料:
  • 我需要在我的程序中使用文本区域,我也需要它是只读的。 这是我创建textArea的主程序的一部分: 这是我的css文件的一部分: 如果我删除行:ta.setDisable(true);Css的工作方式就像我希望它工作一样。但是在我将禁用 true 设置为 true 之后,它只会使文本区域透明,这使得文本非常难以阅读,并且背景颜色也不是我想要的。 有没有其他方法可以只读设置文本?或者有没有办法在禁用

  • 您好,我是java jtable的新手。我正在寻找一种在我的程序中有效的方法,但我没有找到它的任何运气。这是我的Jtable 数据来自ms Access数据库,但我想改变状态列中值为“非活动”的行的背景/前景。我在网上找到了很多例子,但所有的例子在我的程序中都是不可能的。有人能帮帮我吗?这是我的模特 这是创建我的表的方法,以及我如何从数据库中获取数据 我该如何添加以这种方式重新绘制的表格?有人能举

  • 更新问题 第1部分:最初,我首先要在选择一个项目后删除高亮选择(因为这会扰乱所做选择的背景色)。我看到这可以从这里完成>JComboBox中的删除高亮显示-(解决) 第二部分:现在...我试图让它识别选定的文本,并根据选定的文本改变背景色(当选定时,而不是当鼠标悬停在列表中的项上时)。它确实会改变颜色以匹配文本,但是当选择另一个对象(取消选择组合框)时,背景颜色会变回默认-(已解决-参见我的解决方

  • 所以我要做的是,根据最后一列内的值更改每行的颜色。 我已经找到了这个解决方案:改变JTable的背景色,效果非常好。 但除此之外,当第四列达到与第二列相同的值时,我想将行的颜色切换为绿色。 我用Cristian Marian的方法写了自己的课 仍然只有每列中的最后一个单元格变为绿色,而不是整个单元格。但是当我在这一行打卡时,整行都会切换颜色 最后一列中的值将由另一帧更改。 当最后一列中的值达到与第

  • 我发现了如何在Shiny中更改用户界面的背景色。我发现的问题是,它还为我用显示的表的背景上色。这里我展示一个虚拟示例。 用户界面。R shinyUI(页面带有侧栏( 标题面板(“虚拟”), 侧栏面板(标签$hr()), 主面板( 服务器R ShinyServer(函数(输入,输出){输出$虚拟 我得到的是这个 我想得到的(我用GIMP重新创建了它)是 谢谢大家的帮助!

  • 我有一个浅绿色背景的简单文本视图: 基本上,我使用这个文本视图作为自定义的“概述/进度栏”。因此,我想改变不同颜色的背景。 例如: 宽度的0%-25%=浅绿色 宽度的25%-66%=黄色 66%-100%的宽度=红色 所以,你可以这样看: 有什么好的解决办法吗? 我尝试过使用不同的Segment ProgressBar库,但是没有一个库可以设置颜色“分隔符”的百分比时间