Flash AS3 извлекает числа из String (регулярное выражение?) - PullRequest
2 голосов
/ 26 февраля 2010

Я посылаю переменную во Flash:

// 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.

Ответы [ 2 ]

5 голосов
/ 26 февраля 2010
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 вместо числа.

0 голосов
/ 26 февраля 2010
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])));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...