微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐