日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]ColorMatrixFilter--颜色矩阵滤镜

發布時間:2024/4/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]ColorMatrixFilter--颜色矩阵滤镜 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自: http://blog.sina.com.cn/s/blog_49b35d540100aks4.html

?

??? ColorMatrixFilter--顏色矩陣濾鏡(flash.filters.ColorMatrixFilter) 在顆粒等級上提供給你更好的控制方法。ColorMatrixFilter為 4行5列的多維矩陣(20個元素的數組)。圖1是與ColorMatrixFilter等同的矩陣:

圖1. 與ColorMatrixFilter等同的矩陣

??? 紅,綠,藍通道的值由如下所示計算方法所決定:
??? 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]

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

?

圖2. 紅色值增加100

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

圖3. 綠色加倍

??? 如果你要使結果圖像中的藍色與原圖的紅色數量相等,將a[10]設為1, a[12]設為0 ,如圖4:

圖4. 紅色決定藍色值

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

圖5. 增加亮度

??? 你也可以通過將每個顏色通道與一個值相乘按比例的改變亮度,大于1的增加亮度小于1減小亮度。
按照原理,將圖像轉換為灰度圖,你需要將每個通道的部分設為等值。因為有三個通道,你可以將每個通道乘以0.33并將它們相加得到結果值。如圖6:

?

圖6.灰度圖矩陣

??? 由于不同顏色通道的相對屏幕發光度,但是確實有特殊的提供更加真實的灰度圖的“亮度系數”值。例如在PS里創建一個純綠色塊然后把它放在一個純藍色塊,然后將圖像灰度化,你會看到原來綠色的地方的灰色會比原來藍色的區域要亮。
??? 在Flash里使用這些矩陣,創建一個ColorMatrixFilter的實例然后將它加入到一個影片剪輯(MovieClip)實例上。下面是一個使綠色加倍的例子:
??? 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與一個已知的矩陣使用,你可以完成除了亮度和灰度之外復雜的顏色調整。調整對比度,飽和度和色相等。
??? 下面是Adobe官方提供的一個ColorMatrixFilter操作圖像的在線演示圖:

轉載于:https://www.cnblogs.com/yjmyzz/archive/2010/10/16/1852878.html

總結

以上是生活随笔為你收集整理的[转]ColorMatrixFilter--颜色矩阵滤镜的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。