neocarter的blog:www.neoy.cn
顏色矩陣
在flash中可以用矩陣方便的操作顏色。在flash8以前的版本,操作顏色的唯一途徑就是通過修改顏色對象中紅,綠,藍(lán)三個通道的值,在Flash8,"顏色矩陣濾鏡" ColorMatrixFilter (flash.filters.ColorMatrixFilter) 在顆粒等級上提供給你更好的控制方法。"顏色矩陣濾鏡"為 4行5列的多維矩陣(20個元素的數(shù)組)。圖 4 是 與"顏色矩陣濾鏡"等同的矩陣。
圖4. 與"顏色矩陣濾鏡"等同的矩陣
紅,綠,藍(lán)通道的值由如下所示計算方法所決定:
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)。因此即使各個通道的值小于0或大于255都會被強(qiáng)制到該區(qū)間內(nèi)。我來舉些例子說明它的原理。
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁 下一頁 Flash中的顏色矩陣 [2]
◎進(jìn)入論壇Flash專欄版塊參加討論
|