Its really convenient for anyone coming from an HTML background that we can now provide colors to Flex using html standard syntax for hexidecimal number (#000000 = black, #ffffff= white, etc). I’ve recently been building some tools to convert drawings in the flash player to and from SVG format. SVG, like HTML, likes to specify hexidecimal numbers with a "#" prefix, but the flash player drawing API needs hexidecimal numbers to be prefixed with "0x" To help migrate back and forth between hexStrings and AS numbers, I wrote a few static methods, which are working well for me:
package utils {
public class Colors {
public static function hexStringToNumber(hexStr:String):Number{
if(hexStr.length != 7){
return -1;
}
if(hexStr.charAt(0) != "#"){
return -1;
}
var newStr:String = hexStr.substr(1,6);
var numStr:String = "0x"+newStr;
var num:Number = Number(numStr);
return num;
}
public static function numToHexString(num:Number):String{
var hexStr:String = num.toString(16);
while(hexStr.length < 6){
hexStr = "0"+hexStr;
}
hexStr = "#"+hexStr;
return hexStr;
}
}
}
As you can see, there are 2 methods hexStringToNumber and numToHexString. These can be used simply like this:
var whiteNum:Number = Colors.hexStringToNumber ("#ffffff");
var whiteStr:String = Colors.numToHexString(16777215);