JS判断颜色是否为深色 阀值

2023-10-27 16:10

本文主要是介绍JS判断颜色是否为深色 阀值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

碰到一个有趣的项目需求,判断颜色的深浅,若为深色则设置浅色阴影;反之,设置深色阴影。

本来没有头绪,怎样从才能知晓她的深浅呢,百度一下就tmd有了结果。

// arr为用于存储rgb的三个数据
var $grayLevel = arr[0] * 0.299 + arr[1] * 0.587 + arr[2] * 0.114;

知道其原理,则可以开始实践了…

  <div id="app"><div :style="bgc"></div><br><br><button @click="testing">testing</button></div>
    new Vue({el: '#app',data() {return {bgc: {width: '80px',height: '80px',backgroundColor: 'rgb(255,200,255)',margin: '10px',boxShadow: ''}}},methods: {testing() {var color = this.bgc.backgroundColorvar arr = color.replace('rgb(','').replace(')','').split(',').map(Number);console.log(arr);var $grayLevel = arr[0] * 0.299 + arr[1] * 0.587 + arr[2] * 0.114;console.log($grayLevel);if ($grayLevel >= 192) {this.turnDarkColor(arr)} else {this.turnLightColor(arr)}},turnDarkColor(arr) {var cla = new ColorHandle();var hex = cla.RgbToHex(arr[0],arr[1],arr[2]);this.bgc.boxShadow = "10px 10px 10px 8px " + cla.getDarkColor(hex,0.6)},turnLightColor(arr) {var cla = new ColorHandle();var hex = cla.RgbToHex(arr[0],arr[1],arr[2]);this.bgc.boxShadow = "10px 10px 10px 8px " + cla.getLightColor(hex,0.6)}}})

这里需引入一个颜色转换的js文件:

附上链接

效果图如下:
在这里插入图片描述

在这里插入图片描述

这篇关于JS判断颜色是否为深色 阀值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/286783

相关文章

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作