JS实现16进制和RGB转换
作为前端开发而言,不可避免的会遇到颜色取值,字符串和数字直接的转换,博主为此写了一个小工具,实现色值之间的在线转换。
前置知识点: parseInt, toString
parseInt(value ,decidal) value为传值 decidal为进制数
parseInt(110, 2) => 6
parseInt(110, 8) => 72
parseInt(110, 10) => 110
parseInt(110, 16) => 272
toString 转换则需要先将数字通过转换,在通过toString转换到具体的进制
parseInt(110, 16).toString(8) => \’420\’
parseInt(110, 16).toString(16) => \’110\’
parseInt(110, 10).toString(16) => \’6e\’
当数字是10进制时可以写为 110..toString(16) => \’6e\’ 请注意 110 后面有两个点,一个点的时候会认为小数
RGB转16进制
rgb(255,123,20) => #ff7b14
思路:创建一个数组 list list[0] = \’#\’
list[1] = parseInt(255, 10).toString(16)
list[2] = parseInt(123, 10).toString(16)
list[3] = parseInt(20, 10).toString(16)
结果:list.join(\’\’)
16进制转RGB
思路:
ff7b14
分隔成数组 list = [\’ff\’, \’7b\’, \’14\’]
list[0] = parseInt(list[0] , 16)
list[1] = parseInt(list[1] , 16)
list[2] = parseInt(list[2] , 16)
结果: list.join(\’,\’)
版权声明:本文为doublewill原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。