请问各位怎么利用js实现文字与背景反色?(实用、赞)

本文介绍了一种计算颜色反色及调整对比度的方法,通过JavaScript代码实现,可根据输入的颜色值和对比度参数,计算出调整后的颜色值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文出处:https://zhidao.baidu.com/question/710988923723598245.html
代码(有改良)

        // 计算反色, ilighten - 减弱对比度(-1 ~ -15)
        // 示例: oppositeColor("#000000", -4); 返回: #bbbbbb
        function oppositeColor(a, ilighten) {
            a = a.replace('#', '');
            //var max16 = 15;
            var max16 = Math.floor(15 + (ilighten || 0));
            if (max16 < 0 || max16 > 15) max16 = 15;
           
            var c16, c10, b = [];

            for (var i = 0; i < a.length; i++) {
                c16 = parseInt(a.charAt(i), 16);    // to 16进制
                c10 = parseInt(max16 - c16, 10);    // 10进制计算
                if (c10 < 0) c10 = Math.abs(c10); 
                b.push(c10.toString(16));           // to 16进制
            }
            return '#' + b.join('');
        }

效果图:
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值