Flex中转化以及格式化颜色值的例子
By Minidxer | July 21, 2008
接下来的例子演示了Flex中如何将颜色的值转化为字符串,根据RGB计算出各个值以及格式化颜色值。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?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>
代码:Peter deHaan 翻译/整理/编译:minidxer
Topics:
Flex |
Tags: Color, ColorPicker, Hex, RGB