当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > ColorTransform类调整显示对象的颜色值

ActionScript
Flash AS特效:超绚丽的闪字动画
Flash游戏开发教程:第四节
Flash组件教程:组件动画效果的修改
Flash Actionscript常用的几段代码
彻底消灭Flash动画中的乱码
Flash游戏开发教程:第三节
mc深度的排序值设置方法
Flash as简单制作鼠标跟随文字动画
Flash游戏开发教程:第二节
Flash Actionscript 优化指南
Flash游戏开发教程:第八节
ActionScript的API文档生成工具ASDoc
Flash游戏开发教程:第七节
Flash AS教程:蝌蚪摆尾动画
Flash AS3教程:汉字转拼音
Flash游戏开发教程:第五节
Flash游戏开发教程:第六节
Flash AS3教程:下雪动画效果
Flash as教程:文字散射效果
Flash编写类及外部as文件的方式

ActionScript 中的 ColorTransform类调整显示对象的颜色值


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 90 ::
收藏到网摘: n/a

ColorTransform

首先,我们要知道,一个颜色由四个通道组成:红、绿、蓝和alpha通道(这个alpha通道在PS里我不知道对应哪个),他们的十六进制颜色值分别为:

红:0xffff0000       绿:0xff00ff00       蓝:0xff0000ff (第一个0xff表示透明度100%)

在一张RGB模式的图片里,一个像素的颜色值是这个三个通道的减色模式叠加而成,比如上面这三个纯色叠加起来是白色,具体可以参考下面的附件...

/upload/tech/20090916/20090916063353_ba3866600c3540f67c1e9575e213be0a.jpg 

通道示范swf:


然后我们再看一下官方的解释,就比较好理解了...

可使用ColorTransform 类调整显示对象的颜色值。可以将颜色调整或颜色转换应用于所有四种通道:红色、绿色、蓝色和 Alpha 透明度。 当ColorTransform 对象应用于显示对象时,将按如下方法为每个颜色通道计算新值:

       
  • 新红色值 = (旧红色值 * redMultiplier) + redOffset
  •    
  • 新绿色值 = (旧绿色值 * greenMultiplier) + greenOffset
  •    
  • 新蓝色值 = (旧蓝色值 * blueMultiplier) + blueOffset
  •    
  • 新 Alpha 值 = (旧 Alpha 值 * alphaMultiplier) + alphaOffset
如果计算后任何一个颜色通道值大于255,则该值将被设置为255。如果该值小于0,它将被设置为0。
ColorTransform () 构造函数
public function 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 对象。
参数
  redMultiplier:Number (default = 1.0) — 红色乘数的值,在 0 到 1 范围内。   
greenMultiplier:Number (default = 1.0) — 绿色乘数的值,在 0 到 1 范围内。   
blueMultiplier:Number (default = 1.0) — 蓝色乘数的值,在 0 到 1 范围内。   
alphaMultiplier:Number (default = 1.0) — Alpha 透明度乘数的值,在 0 到 1 范围内。   
redOffset:Number (default = 0) — 红色通道值的偏移量,在 -255 到 255 范围内。   
greenOffset:Number (default = 0) — 绿色通道值的偏移量,在 -255 到 255 范围内。   
blueOffset:Number (default = 0) — 蓝色通道值的偏移量,在 -255 到 255 范围内。   
alphaOffset:Number (default = 0) — Alpha 透明度通道值的偏移量,在 -255 到 255 范围内。

下面是一个Demo调调看就知道怎么用了:

ColorTransform Demo.jpg