我正在向Flash发送一个var:
// incoming
var pageColor:String = "rgb(81, 89, 112)";
我有这个功能将RGB值转换为HEX
function rgb2hex(r:Number, g:Number, b:Number) {
return '0x'+(r << 16 | g << 8 | b).toString(16).toUpperCase();
}
// trace(rgb2hex(81, 89, 112));
现在我正在寻找从pageColor
字符串中提取数字的最佳方法,并在rgb2hex
函数中使用它们。
答案 0 :(得分:5)
pageColor = pageColor.substring(4, pageColor.length - 1); // '81, 89, 112'
var colors:Array = pageColor.split(",");
rgb2hex(parseInt(colors[0]), parseInt(colors[1]), parseInt(colors[2]));
顺便说一句,您应该更改rbg2hex
函数的参数,以取int
或uint
而不是数字。
答案 1 :(得分:0)
var pageColor:String = "rgb(81, 89, 112)";
pageColor = pageColor.substring(4, pageColor.length - 1);
var colors:Array = pageColor.split(",");
function rgb2hex(r:int, g:int, b:int) {
return '0x'+(r << 16 | g << 8 | b).toString(16).toUpperCase();
}
trace(rgb2hex(parseInt(colors[0]), parseInt(colors[1]), parseInt(colors[2])));