五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > Flash中的顏色矩陣

Flash中的顏色矩陣

文章來(lái)源:365jz.com     點(diǎn)擊數(shù):165    更新時(shí)間:2008-07-10 08:14   參與評(píng)論

neocarter的blog:www.neoy.cn

顏色矩陣

在flash中可以
用矩陣方便的操作顏色。在flash8以前的版本,操作顏色的唯一途徑就是通過(guò)修改顏色對(duì)象中紅,綠,藍(lán)三個(gè)通道的值,在Flash8,"顏色矩陣濾鏡" ColorMatrixFilter (flash.filters.ColorMatrixFilter) 在顆粒等級(jí)上提供給你更好的控制方法。"顏色矩陣濾鏡"為 4行5列的多維矩陣(20個(gè)元素的數(shù)組)。圖 4 是 與"顏色矩陣濾鏡"等同的矩陣。

Flash中的顏色矩陣(圖一)

與"顏色矩陣濾鏡"等同的矩陣
紅,綠,藍(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)。我來(lái)舉些例子說(shuō)明它的原理

如果你想在紅色通道加100(偏移量),將a[4]設(shè)置為100,如(圖5) 。

Flash中的顏色矩陣(圖二)

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

Flash中的顏色矩陣(圖三)
圖6. 綠色加倍

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

Flash中的顏色矩陣(圖四)
圖7. 紅色決定藍(lán)色值

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

Flash中的顏色矩陣(圖五)
圖8. 增加亮度

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

Flash中的顏色矩陣(圖六)
圖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種都成為了肯能。雖然在這里討論這些話(huà)題與這篇文章有些遠(yuǎn),但是足以說(shuō) Flash 8提供了一個(gè)以前任何版本都不能做到的顏色操作途徑。

下面的flash可以看到在操作圖像時(shí)結(jié)果矩陣是怎么改變的!
Flash:
http://theartemis.cn/devnet/flash/articles/matrix_transformations
/
ColorMatrixDemo.swf

有譯的不對(duì)的地方還望高手指點(diǎn)

如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (165人查看,0條評(píng)論)
請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱(chēng):
最新評(píng)論
------分隔線(xiàn)----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢(xún)

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)