<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:Script>
<![CDATA[
private function fixedInt(value:int,mask:String):String {
return String(mask + value.toString(16)).substr(-mask.length).toupperCase();
}
private function rChannel(value:int):int {
return value >> 16 & 0xFF;
}
private function gChannel(value:int):int {
return value >> 8 & 0xFF;
}
private function bChannel(value:int):int {
return value >> 0 & 0xFF;
}
private function rgbToInt(r:int,g:int,b:int):int {
return r << 16 | g << 8 | b << 0;
}
]]>
</mx:Script>
<mx:Model id="colorObj">
<root>
<color>{colorPicker.selectedColor}</color>
<red>{rChannel(colorObj.color)}</red>
<green>{gChannel(colorObj.color)}</green>
<blue>{bChannel(colorObj.color)}</blue>
</root>
</mx:Model>
<mx:Form>
<mx:FormItem label="Color:" direction="horizontal">
<mx:ColorPicker id="colorPicker" />
<mx:Label text="0x{fixedInt(colorPicker.selectedColor,'000000')}" width="100" />
</mx:FormItem>
<mx:FormItem label="Red:" direction="horizontal">
<mx:Label text="{colorObj.red}" />
<mx:Label text="(0x{fixedInt(colorObj.red,'00')})" />
</mx:FormItem>
<mx:FormItem label="Green:" direction="horizontal">
<mx:Label text="{colorObj.green}" />
<mx:Label text="(0x{fixedInt(colorObj.green,'00')})" />
</mx:FormItem>
<mx:FormItem label="Blue:" direction="horizontal">
<mx:Label text="{colorObj.blue}" />
<mx:Label text="(0x{fixedInt(colorObj.blue,'00')})" />
</mx:FormItem>
<mx:FormItem label="Color:" direction="horizontal">
<mx:Label text="{colorObj.color}" />
<mx:Label text="(0x{fixedInt(rgbToInt(colorObj.red,colorObj.green,colorObj.blue),'000000')})" />
</mx:FormItem>
</mx:Form>
<mx:Label text="{int(0xFF00FF)}" />
</mx:Application>