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

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

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

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評(píng)論 :: 0 Trackbacks
    ColorMatrixFilter--顏色矩陣濾鏡(flash.filters.ColorMatrixFilter) 在顆粒等級(jí)上提供給你更好的控制方法。ColorMatrixFilter為 4行5列的多維矩陣(20個(gè)元素的數(shù)組)。圖1是與ColorMatrixFilter等同的矩陣:

    圖1. 與ColorMatrixFilter等同的矩陣

        紅,綠,藍(lán)通道的值由如下所示計(jì)算方法所決定:
        CODE:

     

    redResult   = a[0] * srcR + a[1] * srcG + a[2] * srcB + a[3] * srcA + a[4]
    greenResult = a[5] * srcR + a[6] * srcG + a[7] * srcB + a[8] * srcA + a[9]
    blueResult  = a[10] * srcR + a[11] * srcG + a[12] * srcB + a[13] * srcA + a[14]
    alphaResult = a[15] * srcR + a[16] * srcG + a[17] * srcB + a[18] * srcA + a[19]

     
       可以看出,第一行的值決定了紅色值,第二行決定綠色,第三行藍(lán)色,第四行是透明(Alpha)通道值。同樣可以看出首四欄值是與紅,綠,藍(lán),alpha通 道值的乘積,而第五欄的值分別是和(偏移量)。注意每行的源值和結(jié)果值都是在0到255的區(qū)間內(nèi)。因此即使各個(gè)通道的值小于0或大于255都會(huì)被強(qiáng)制到該 區(qū)間內(nèi)。我來舉些例子說明它的原理。
        如果你想在紅色通道加100(偏移量),將a[4]設(shè)置為100,如圖2:

     

    圖2. 紅色值增加100

        如果想使綠色通道加倍,將a[6]設(shè)為2,如圖3:

    圖3. 綠色加倍

        如果你要使結(jié)果圖像中的藍(lán)色與原圖的紅色數(shù)量相等,將a[10]設(shè)為1, a[12]設(shè)為0 ,如圖4:

    圖4. 紅色決定藍(lán)色值

        改變圖像的亮度,你需要在每個(gè)顏色通道的值改變同樣的數(shù)量。最簡(jiǎn)單的途徑是在每個(gè)通道都設(shè)置相同的偏移量。偏移量為正時(shí)可以增加亮度為負(fù)時(shí)可以減小亮度。圖5是一個(gè)增加亮度的例子:

    圖5. 增加亮度

        你也可以通過將每個(gè)顏色通道與一個(gè)值相乘按比例的改變亮度,大于1的增加亮度小于1減小亮度。
    按照原理,將圖像轉(zhuǎn)換為灰度圖,你需要將每個(gè)通道的部分設(shè)為等值。因?yàn)橛腥齻€(gè)通道,你可以將每個(gè)通道乘以0.33并將它們相加得到結(jié)果值。如圖6:

    圖6.灰度圖矩陣

        由于不同顏色通道的相對(duì)屏幕發(fā)光度,但是確實(shí)有特殊的提供更加真實(shí)的灰度圖的“亮度系數(shù)”值。例如在PS里創(chuàng)建一個(gè)純綠色塊然后把它放在一個(gè)純藍(lán)色塊,然后將圖像灰度化,你會(huì)看到原來綠色的地方的灰色會(huì)比原來藍(lán)色的區(qū)域要亮。
        在Flash里使用這些矩陣,創(chuàng)建一個(gè)ColorMatrixFilter的實(shí)例然后將它加入到一個(gè)影片剪輯(MovieClip)實(shí)例上。下面是一個(gè)使綠色加倍的例子:
        CODE:

     

    import flash.filters.ColorMatrixFilter;
    var mat:Array = [ 1,0,0,0,0,
                      0,2,0,0,0,
                      0,0,1,0,0,
                      0,0,0,1,0 ];
    var colorMat:ColorMatrixFilter = new ColorMatrixFilter(mat);
    mc.filters = [colorMat];

     

        ColorMatrixFilter與一個(gè)已知的矩陣使用,你可以完成除了亮度和灰度之外復(fù)雜的顏色調(diào)整。調(diào)整對(duì)比度,飽和度和色相等。
        下面是Adobe官方提供的一個(gè)ColorMatrixFilter操作圖像的在線演示圖:

        ColorMatrixFilter 

        下載地址:http://www.adobe.com/devnet/flash/articles/matrix_transformations/ColorMatrixDemo.swf

    posted on 2008-11-19 14:42 seal 閱讀(821) 評(píng)論(0)  編輯  收藏 所屬分類: Flex+ActionScript
    主站蜘蛛池模板: 青青草原精品国产亚洲av| 国产成人无码a区在线观看视频免费| 亚洲香蕉网久久综合影视| 亚洲av永久无码| 亚洲色成人网一二三区| 久久aⅴ免费观看| 亚洲综合成人网在线观看| 99在线观看视频免费| 国产在线a不卡免费视频| 亚洲精品动漫免费二区| 四虎影视www四虎免费| 久久亚洲AV成人无码国产电影| 免费无码一区二区三区蜜桃大 | 久久青青草原亚洲AV无码麻豆| 99久久免费国产精品热| 亚洲好看的理论片电影| 在线看片v免费观看视频777 | 亚洲成AV人片在线观看WWW| 中文字幕无码免费久久| 亚洲国产高清在线| 免费国产作爱视频网站| 亚洲另类无码专区丝袜| 亚洲国产一区二区三区| 国产成人无码区免费网站| 亚洲欧洲日韩不卡| 成熟女人特级毛片www免费| 国产午夜亚洲精品不卡| 亚洲精品亚洲人成在线观看| 95免费观看体验区视频| 亚洲日韩精品无码专区加勒比☆ | 日韩亚洲人成在线综合日本 | 国产一级一毛免费黄片| 精品亚洲成a人片在线观看少妇| 久久笫一福利免费导航| 日韩精品无码永久免费网站| 亚洲AV无码一区东京热| 国产精品视频免费一区二区| 一区二区在线视频免费观看| 亚洲日韩图片专区第1页| 免费毛片在线视频| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 |