2011-03-31 46 views
1

容易,因爲它與32位值的RGBA一起工作,我以前使用的大多數庫都實現了實用程序以避免所有的位移,比如RGBA()宏或類似。我不能在livedocs上看到這樣的東西,也許它在那裏,我錯過了它?AS3沒有顏色/ rgba支持類嗎?

使用Flash 9/10,它需要是一個核心的AS3類。

回答

2

AS3沒有這種東西。那裏可能有課。

最簡單的方法:

var d:BitmapData = new BitmapData(10,10); 
var pixel:int = d.getPixel(5,5); 
var red:int = pixel >> 16; 
var green:int = pixel >> 8 & 0xff; 
var blue:int = pixel & 0xff; 

在這裏,我創建了一個BitmapData。然後得到點(5,5)的顏色。這裏的像素是RGB。然後做一些轉換來獲得組件。

對於ARGB值(編者):

var argb:int = 0x11223344; 
var alpha:int = argb >> 24; 
var red:int = argb >> 16 & 0xff; 
var green:int = argb >> 8 & 0xff; 
var blue:int = argb & 0xff; 
+1

@MorrisLiang。請注意,閃存將顏色信息存儲爲ARGB,而不是RGBA。 – 2011-04-01 02:32:22

+0

對不起,我一年沒有編碼AS3。 – MorrisLiang 2011-04-01 05:14:24

+0

我用'>>'發現問題,我不得不使用'>>>',這是我從來不知道的! – 2011-04-03 11:36:01

0

不,沒有特定的內置方法來避免位移。如果你不想使用庫,你可以複製和粘貼一些適當的功能到你的代碼 - 谷歌彈出this了,它看起來很合適。