容易,因为它与32位值的RGBA一起工作,我以前使用的大多数库都实现了实用程序以避免所有的位移,比如RGBA()
宏或类似。我不能在livedocs上看到这样的东西,也许它在那里,我错过了它?AS3没有颜色/ rgba支持类吗?
使用Flash 9/10,它需要是一个核心的AS3类。
容易,因为它与32位值的RGBA一起工作,我以前使用的大多数库都实现了实用程序以避免所有的位移,比如RGBA()
宏或类似。我不能在livedocs上看到这样的东西,也许它在那里,我错过了它?AS3没有颜色/ rgba支持类吗?
使用Flash 9/10,它需要是一个核心的AS3类。
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;
不,没有特定的内置方法来避免位移。如果你不想使用库,你可以复制和粘贴一些适当的功能到你的代码 - 谷歌弹出this了,它看起来很合适。
@MorrisLiang。请注意,闪存将颜色信息存储为ARGB,而不是RGBA。 – 2011-04-01 02:32:22
对不起,我一年没有编码AS3。 – MorrisLiang 2011-04-01 05:14:24
我用'>>'发现问题,我不得不使用'>>>',这是我从来不知道的! – 2011-04-03 11:36:01