Actionscript 3 AS3是否没有颜色/rgba支持类?

Actionscript 3 AS3是否没有颜色/rgba支持类?,actionscript-3,Actionscript 3,从32位值使用RGBA很容易,但我以前使用的大多数库都实现了一些实用程序来避免所有的位移位,比如RGBA()宏或类似的程序。我在livedocs上看不到类似的东西,也许它就在那里,而我却错过了它 使用Flash 9/10时,它需要成为AS3类的核心。不,没有特定的内置方法来避免位移位。如果你不想使用一个库,你可以复制并粘贴一些合适的函数到你的代码中——google弹出了,它看起来很合适。AS3没有这样的东西。好吧,外面可能有课 最简单的方法是: var d:BitmapData = new Bi

从32位值使用RGBA很容易,但我以前使用的大多数库都实现了一些实用程序来避免所有的位移位,比如
RGBA()
宏或类似的程序。我在livedocs上看不到类似的东西,也许它就在那里,而我却错过了它


使用Flash 9/10时,它需要成为AS3类的核心。

不,没有特定的内置方法来避免位移位。如果你不想使用一个库,你可以复制并粘贴一些合适的函数到你的代码中——google弹出了,它看起来很合适。

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;
在这里,我创建了一个位图数据。然后得到点(5,5)的颜色。这里的像素是RGB。然后进行一些转换以获得组件

对于ARGB值(已编辑):


@莫里斯·梁。请注意,flash将颜色信息存储为ARGB,而不是RGBA。很抱歉,我已经有一年没有使用AS3编码了。我发现使用
>
时出现问题,我不得不使用
>
,我从来都不知道它的存在!有什么问题吗?我在我的一个flash应用程序中使用了这个片段来提取颜色值,一切正常。
>
>
之间唯一的区别是它们如何处理负数和溢出。将您的颜色键入
uint
,您就不必担心了。。。
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;