十六进制颜色值 在 ActionScript 中, 与 BitmapData 类结合使用的颜色值应使用 32 位十六进制数表示。32 位十六进制数是四对十六进制数字的序列。每个十六进制对定义四个颜色通道 (红、绿、蓝和 Alpha) 中每个颜色通道的强度。颜色通道的强度为以范围介于 0 到 255 之间的十进制数的十六进制表示法;FF 是指全强度 (255), 00 是指通道中无颜色 (0)。如您所见, 由于颜色值长度需要两位数字, 因此您需要填充一个通道, 例如用 01 代替 1。这样可确保十六进制数中始终具有八个数字。还应确保指定十六进制数前缀 0x。例如, 白色 (所有通道中都是全强度) 用十六进制记数法表示为: 0xFFFFFFFF。而黑色正好相反;它在红色、绿色和蓝色中的任何一个通道中都无颜色: 0xFF000000。请注意, Alpha 通道 (第一对) 仍然为全强度 (FF)。Alpha 通道中的全强度意味着没有 alpha (FF), 无强度 (00) 意味着全 alpha。因此, 透明像素颜色值为 0x00FFFFFF。 从 ARGB 转换为十六进制值 对于特定的颜色, 人们通常容易记住它的 Alpha、红色、绿色和蓝色 (ARGB) 值, 而记不住其十六进制值。如果您也有同样的情况, 那么您应当了解如何从 ARGB 转换为十六进制值。这可通过下面的 ActionScript 函数来实现: function argbtohex(a:Number, r:Number, g:Number, b:Number) { return (a<<24 | r<<16 | g<<8 | b) } 您可以按如下所示的方式使用该函数: hex=argbtohex(255,0,255,0) //输出基于 10 进制数的 32 位红色十六进制值 从十六进制转换为 ARGB 值 要将十六进制颜色值转换回范围介于 0 到 255 之间的四个十进制数 (每个数代表 ARGB 中的一个通道) , 请使用下面的 ActionScript 函数: function hextoargb(val:Number) { var col={} col.alpha = (val › › 24) & 0xFF col.red = (val › › 16) & 0xFF col.green = (val › › 8) & 0xFF col.blue = val & 0xFF return col } 您可以按如下所示的方式使用该函数: argb=hextoargb(0xFFFFCC00); alpha=argb.alpha; red=argb.red; green=argb.green; blue=argb.blue; ***************** 测试 argb=hextoargb(0xcc000000); alpha=argb.alpha; red=argb.red; green=argb.green; blue=argb.blue; trace(alpha) 结果:204 改变cc位置的值,如ff,d6……,可以知道它们具体的十进制值是多少。 比如:for(r=0;r<=0xFF;r+=0x33){……} 该句中的0xFF,0x33,测试可知分别是255和51。(0xFF写全应该是0x000000FF)