javascript如何设置颜色


当前第2页 返回上一页

三、颜色格式转化

在编码过程中,经常会遇到要将颜色格式相互转化的问题,其中十六进制格式和RGB格式是可以相互转化的,但是RGBA格式由于多了前两者没有的Alpha透明属性,所以和前两者转化会丢失Alpha值,不建议进行转化,下面是我的颜色转化的方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

//十六进制转为RGB

function hex2Rgb(hex) {

    var rgb = []; // 定义rgb数组

    if (/^\#[0-9A-F]{3}$/i.test(hex)) {

    //判断传入是否为#三位十六进制数

        let sixHex = '#';

        hex.replace(/[0-9A-F]/ig, function(kw) {

        sixHex += kw + kw; //把三位16进制数转化为六位

    });

        hex = sixHex; //保存回hex

    }

    if (/^#[0-9A-F]{6}$/i.test(hex)) { //判断传入是否为#六位十六进制数

        hex.replace(/[0-9A-F]{2}/ig, function(kw) {

            rgb.push(eval('0x' + kw)); //十六进制转化为十进制并存如数组

        });

        return `rgb(${rgb.join(',')})`; //输出RGB格式颜色

    } else {

        console.log(`Input ${hex} is wrong!`);

        return 'rgb(0,0,0)';

    }

}

//RGB转为十六进制

function rgb2Hex(rgb) {

    if (/^rgb\((\d{1,3}\,){2}\d{1,3}\)$/i.test(rgb)) { //test RGB

        var hex = '#'; //定义十六进制颜色变量

        rgb.replace(/\d{1,3}/g, function(kw) { //提取rgb数字

        kw = parseInt(kw).toString(16); //转为十六进制

        kw = kw.length < 2 ? 0 + kw : kw; //判断位数,保证两位

        hex += kw; //拼接

    });

        return hex; //返回十六进制

    } else {

        console.log(`Input ${rgb} is wrong!`);

        return '#000'; //输入格式错误,返回#000

    }

}

相关免费学习推荐:javascript视频教程

以上就是javascript如何设置颜色的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

通过javascript函数生成字符串的所有排列组合

javascript获取日期的方法是什么

window.open()弹窗被浏览器拦截的解决方法

深入浅析js中的事件委托

javascript是一门什么样的语言

react高阶组件(装饰器)的介绍(代码示例)

vue-cli3.0安装与配置的方法教程(图文)

javascript数组如何删除指定元素

移动端页面头部固定定位的绝对定位实现(代码示例)

聊聊typescript中enum(枚举)的用法

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...