Flash 裡的色彩採用 32 位元色值( 0xAARRGGBB )
若不算透明度, 也可寫為 24 位元色值( 0xRRGGBB )
由於 int 可能會放不下32位元的顏色值, 所以是以 uint 型別存放
當 ColorTransform 物件套用至顯示物件時,每個新的顏色色版數值計算方式如下:
新的紅色值 = (舊的紅色值 * redMultiplier ) + redOffset
新的綠色值 = (舊的綠色值 * greenMultiplier ) + greenOffset
新的藍色值 = (舊的藍色值 * blueMultiplier ) + blueOffset
新的 Alpha 值 = (舊的 Alpha 值 * alphaMultiplier ) + alphaOffset
(以十進位來說, 每個顏色的值都是0~255, 高於255以255計, 低於0以0計)
ColorTransform 物件的使用有兩種方式:
1.在 BitmapData 類別之 colorTransform() 方法的 colorTransform 參數中使用
2.當作 Transform 物件 (可當作顯示物件的 transform 屬性使用) 的 colorTransform 屬性使用
接下來看看屬性:
color : uint //ColorTransform 物件的 RGB 顏色數值
redMultiplier : Number //十進位值,將會和紅色色版值相乘
greenMultiplier : Number //十進位值,將會和綠色色版值相乘
blueMultiplier : Number //十進位值,將會和藍色色版值相乘
alphaMultiplier : Number //十進位值,將會和 Alpha 透明度色版值相乘
redOffset : Number
//從 -255 到 255 的數字。將會在乘以 redMultiplier 值之後,加上紅色色版值
greenOffset : Number
//從 -255 到 255 的數字。將會在乘以 greenMultiplier 值之後,加上綠色色版值
blueOffset : Number
//從 -255 到 255 的數字。將會在乘以 blueMultiplier 值之後,加上藍色色版值
alphaOffset : Number
//從 -255 到 255 的數字。將會在乘以 alphaMultiplier 值之後,加上 Alpha 透明度色版值
建構子:
ColorTransform(
redMultiplier:Number = 1.0,
greenMultiplier:Number = 1.0,
blueMultiplier:Number = 1.0,
alphaMultiplier:Number = 1.0,
redOffset:Number = 0,
greenOffset:Number = 0,
blueOffset:Number = 0,
alphaOffset:Number = 0)
//以指定的顏色色版值和 Alpha 值為顯示物件建立 ColorTransform 物件。
方法:
concat(second:ColorTransform):void
連接 second 參數指定的 ColorTranform 物件與目前的 ColorTransform 物件,然後將目前的物件設定為結果 (兩個顏色轉換的累增組合)
沒有留言:
張貼留言