<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    有才華的人,別忘記給滋潤你的那塊土壤施肥

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      28 隨筆 :: 5 文章 :: 147 評論 :: 0 Trackbacks
          對于某些頁面,對應(yīng)的ToolBar上的按鈕要置灰(即enabled=false),那么此時對應(yīng)的圖片也要變成灰色,而我又不想給每個按鈕去再弄一個灰色按鈕(主要不會PS),再者以后的系統(tǒng)是讓用戶可以自定義上傳用戶喜歡的圖片,這樣每次都要上傳兩張圖片,甚是麻煩。
      
          在這里想到一個辦法那就是利用Button的filters的屬性來使其圖片跟著按鈕的狀態(tài)自動改變,先看效果圖:

          在這里主要利用ColorMatrixFilter,該類是將 4 x 5的 矩陣轉(zhuǎn)換應(yīng)用于輸入圖像上的每個像素的 RGBA 顏色和 Alpha 值,以生成具有一組新的 RGBA 顏色和 Alpha 值的結(jié)果。可以允許飽和度更改、色相旋轉(zhuǎn)、亮度為 Alpha 以及各種其它效果。它可以應(yīng)用與基于DisplayObject 的子類,以及BitmapData 對象,這兩類的使用:
         1)、DisplayObject 的子類:使用filters 的屬性
         2)、BitmapData :使用 applyFilter() 方法獲得一個新的過濾對象
          
        下面看代碼:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        
    <mx:Script>
            
    <![CDATA[
                import mx.core.IFlexDisplayObject;
                [Embed('assets
    /google.gif')] 
                private 
    var google:Class; 

                private 
    var rLum:Number = 0.2225
                private 
    var gLum:Number = 0.7169
                private 
    var bLum:Number = 0.0606;  
                [Bindable] 
                private 
    var bwMatrix:Array = [rLum, gLum, bLum, 00
                                rLum, gLum, bLum, 
    00
                                rLum, gLum, bLum, 
    00
                                
    00010];  
                private 
    var _colorMatrix:ColorMatrixFilter;
                   
               private 
    function get colorMatrix():ColorMatrixFilter
               
    {
                    
    if(!_colorMatrix)
                    
    {
                         _colorMatrix 
    = new ColorMatrixFilter();
                         _colorMatrix.matrix 
    =  bwMatrix;
                    }

                       
    return _colorMatrix;
               }

               [Bindable]
               private  
    var enable:Boolean = true;
            ]]
    >
        
    </mx:Script>
        
    <mx:VBox>
            
    <mx:Button id="btn1" icon="{google}" enabled="{enable}" 
                        filters
    ="{btn1.enabled ? null : [colorMatrix]}"/>
            
    <mx:Button id="btn2" icon="{google}" enabled="{!enable}"
                        filters
    ="{btn2.enabled ? null : [colorMatrix]}"/>    
            
    <mx:Button label="切換" click="{enable = !enable}"/>
        
    </mx:VBox>
    </mx:Application>

    針對不同對象也可以將其封裝到一個類中去,如對于按鈕就可以進(jìn)行如下封裝,這樣就可以直接用這個類了,而不用分別設(shè)置了:
    package com.kissjava.controls
    {
        import flash.filters.ColorMatrixFilter;
        
        import mx.controls.Button;

        public class KJButton extends Button
        
    {
            public 
    function KJButton()
            
    {
                super();
            }

            private 
    var rLum:Number = 0.2225
            private 
    var gLum:Number = 0.7169
            private 
    var bLum:Number = 0.0606;  
            [Bindable] 
            private 
    var bwMatrix:Array = [rLum, gLum, bLum, 00
                            rLum, gLum, bLum, 
    00
                            rLum, gLum, bLum, 
    00
                            
    00010];  
            private 
    var _colorMatrix:ColorMatrixFilter;
                   
           private 
    function get colorMatrix():ColorMatrixFilter
           
    {
                
    if(!_colorMatrix)
                
    {
                     _colorMatrix 
    = new ColorMatrixFilter();
                     _colorMatrix.matrix 
    =  bwMatrix;
                }

                   
    return _colorMatrix;
           }

            override public 
    function set enabled(value:Boolean):void
            
    {
                super.enabled 
    = velue;
                
    this.filters = value ? null : [colorMatrix]
            }

        }

    }
    posted on 2009-04-12 12:31 kissjava 閱讀(978) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成年人免费观看视频网站| 四虎影院永久免费观看| 亚洲日产乱码一二三区别| 亚洲福利精品一区二区三区 | 中文字幕一区二区免费| 亚洲成人黄色在线观看| 免费一看一级毛片全播放| 久久精品国产大片免费观看| 亚洲AV第一成肉网| 久久久亚洲精品国产| 免费鲁丝片一级观看| 成人黄网站片免费视频| 亚洲AV无码资源在线观看| 亚洲AV午夜福利精品一区二区| 在线免费观看一区二区三区| 中文字幕一区二区免费| 国产精品亚洲lv粉色| 亚洲日本中文字幕| 亚洲免费日韩无码系列| 日韩不卡免费视频| 国产日韩一区二区三免费高清| 亚洲日韩久久综合中文字幕| 亚洲av无码一区二区三区网站| 国产jizzjizz视频全部免费| 国产乱子精品免费视观看片| 中文字幕无码免费久久9一区9 | 无码av免费一区二区三区试看| 色网站在线免费观看| 亚洲www在线观看| 亚洲AV福利天堂一区二区三 | 亚洲国产综合专区电影在线| 亚洲精品国产精品乱码不卡| 免费能直接在线观看黄的视频| 香蕉免费看一区二区三区| 久久亚洲精品无码网站| 亚洲av成人一区二区三区| 91亚洲国产成人精品下载| 亚洲s色大片在线观看| 国产精品V亚洲精品V日韩精品| 国产精品四虎在线观看免费| 永久免费的网站在线观看|