3
我试图创建自己的RGB到HEX颜色转换器。根据StackOverflow主题之一将RGB转换为HEX问题
我不知道为什么,而是将其转换为双RGB数字。
所以当输入是rgb(0, 128, 192)
它控制台出#00128192
。
我的代码是:
fromRGB: {
toHEX: {
supportFunc: function(number) {
var hex = number.toString(16);
return hex.length == 1 ? '0' + hex : hex;
},
convert: function(r, g, b) {
var lol = '#' + this.supportFunc(r) + this.supportFunc(g) + this.supportFunc(b);
console.log(lol);
}
},
prepareAndExecute: function(color_field) {
// preparing
var numbers = color_field.match(/\d+/g);
if(numbers.length == 3) {
this.toHEX.convert(numbers[0], numbers[1], numbers[2]);
} else {
alert('wrong RGB number format');
}
//this.toHSL(preparedValue);
}
}
我执行准备功能,lol
变量是应包含在十六进制格式转换的色彩的一个。
我的代码有什么问题,为什么它不起作用?
'.match( )'返回一个**字符串**数组,而不是数字。 – Pointy
可能重复[RGB到十六进制和十六进制到RGB](https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb) –
@KenWhite我认为OP已经使用该重复链接上面提出他的代码。但是他遇到了一个问题(字符串为数字),与如何获取值无关。因此将其标记为与该链接重复是错误的。 –