Flex中转化以及格式化颜色值的例子

<?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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值