如果你想在紅色通道加100(偏移量),將a[4]設(shè)置為100,如(圖5) 。
圖5. 紅色值增加100
如果想使綠色通道加倍,將a[6]設(shè)為2,如(圖6)
圖6. 綠色加倍
如果你要使結(jié)果圖像中的藍(lán)色與原圖的紅色數(shù)量相等,將a[10]設(shè)為1, a[12]設(shè)為0 ,如(圖7)
圖7. 紅色決定藍(lán)色值
改變圖像的亮度,你需要在每個(gè)顏色通道的值改變同樣的數(shù)量。最簡(jiǎn)單的途徑是在每個(gè)通道都設(shè)置相同的偏移量。偏移量為正時(shí)可以增加亮度為負(fù)時(shí)可以減小亮度。(圖8) 是一個(gè)增加亮度的例子。
圖8. 增加亮度
你也可以通過(guò)將每個(gè)顏色通道與一個(gè)值相乘按比例的改變亮度,大于1的增加亮度小于1減小亮度。 按照原理,將圖像轉(zhuǎn)換為灰度圖,你需要將每個(gè)通道的部分設(shè)為等值。因?yàn)橛腥齻(gè)通道,你可以將每個(gè)通道乘以0.33并將它們相加得到結(jié)果值。如(圖9)
圖9.灰度圖矩陣
由于不同顏色通道的相對(duì)屏幕發(fā)光度,但是 確實(shí)有特殊的提供更加真實(shí)的灰度圖的"亮度系數(shù)"值 。例如在PS里創(chuàng)建一個(gè)純綠色塊然后把它放在一個(gè)純藍(lán)色塊 ,然后將圖像灰度化,你會(huì)看到原來(lái)綠色的地方的灰色會(huì)比原來(lái)藍(lán)色的區(qū)域要亮。
在Flash里使用這些矩陣,創(chuàng)建一個(gè)"顏色矩陣濾鏡"的實(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); clip.filters = [colorMat];
"顏色矩陣濾鏡"與一個(gè)已知的矩陣使用,你可以完成除了亮度和灰度之外復(fù)雜的顏色調(diào)整。調(diào)整對(duì)比度,飽和度和色相在 Flash 8種都成為了肯能。雖然在這里討論這些話題與這篇文章有些遠(yuǎn),但是足以說(shuō) Flash 8提供了一個(gè)以前任何版本都不能做到的顏色操作途徑。
下面的flash可以看到在操作圖像時(shí)結(jié)果矩陣是怎么改變的! Flash: http://www.adobe.com/devnet/flash/articles/matrix_transformations/ ColorMatrixDemo.swf
有譯的不對(duì)的地方還望高手指點(diǎn)
經(jīng)典論壇討論: http://bbs.blueidea.com/viewthread.php?tid=2660633
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁(yè) Flash中的顏色矩陣 [1] 下一頁(yè)
◎進(jìn)入論壇Flash專欄版塊參加討論
|