创建给定颜色的相反颜色
在这个问题中,目标是生成与给定颜色相反的颜色颜色。相反的颜色是指暗/亮的方面。例如,如果给定的颜色是黑色,则相反的颜色将为白色。
要创建此相反的颜色,需要一个名为 create_opp_color() 的函数。该函数应接受当前颜色作为参数并返回相反的颜色。以下是完成此任务的方法:
函数实现:
- 将十六进制转换为 RGB: 假定给定颜色为十六进制格式。首先,将其转换为 RGB 分量。
- 反转颜色分量:反转 R、G 和 B 分量的值(从 255 中减去)。
- 将反转分量转换为十六进制:将每个反转分量转换回十六进制
- 填充反转组件:每个十六进制组件都应该用零填充,以确保它是 2 位十六进制值。
- 重建十六进制颜色字符串: 连接填充的 HEX 组件以形成相反的颜色string.
JavaScript 中的实现:
function create_opp_color(currentColor) { if (currentColor.indexOf('#') === 0) { currentColor = currentColor.slice(1); } if (currentColor.length === 3) { currentColor = currentColor.repeat(2); } const rgb = hexToRgb(currentColor); const invertedRgb = { r: 255 - rgb.r, g: 255 - rgb.g, b: 255 - rgb.b }; const invertedHex = rgbToHex(invertedRgb); return '#' + invertedHex; } function rgbToHex(rgb) { let hex = ''; for (const key in rgb) { if (rgb.hasOwnProperty(key)) { const component = rgb[key].toString(16); hex += component.length === 1 ? '0' + component : component; } } return hex; } function hexToRgb(hex) { let rgb = {}; ['r', 'g', 'b'].forEach((key, i) => { rgb[key] = parseInt(hex.substr(i * 2, 2), 16); }); return rgb; }
高级技术:
如果您需要更多对比度,您可以根据原始颜色的亮度使用黑色或白色作为相反颜色。这是一个修改后的函数来执行此操作:
function create_opp_color(currentColor) { if (currentColor.indexOf('#') === 0) { currentColor = currentColor.slice(1); } if (currentColor.length === 3) { currentColor = currentColor.repeat(2); } const rgb = hexToRgb(currentColor); const brightness = Math.round((rgb.r * 0.299 + rgb.g * 0.587 + rgb.b * 0.114) / 255 * 100); return brightness > 50 ? '#000000' : '#FFFFFF'; }
现在,使用此函数,您可以轻松生成任何给定颜色的相反颜色,无论它是亮还是暗。
以上是如何生成给定颜色的相反颜色?的详细内容。更多信息请关注PHP中文网其他相关文章!

在本周的综述中:Firefox获得了类似锁匠的力量,三星的Galaxy Store开始支持Progressive Web Apps,CSS Subgrid正在Firefox发货

在本周的综述中:Internet Explorer进入Edge,Google Search Console吹捧新的速度报告,Firefox提供了Facebook'

盖茨比(Gatsby)进行了出色的处理和处理图像。例如,它可以帮助您节省图像优化的时间,因为您不必手动


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中