Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • BitmapData ColorTransform()方法的基础

    post by onelong / 2010-4-3 20:10 Saturday [MXML/ActionScript3.0]

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

    新红色值 = (旧红色值 * redMultiplier) + redOffset
    新绿色值 = (旧绿色值 * greenMultiplier) + greenOffset
    新蓝色值 = (旧蓝色值 * blueMultiplier) + blueOffset
    新 Alpha 值 = (旧 Alpha 值 * alphaMultiplier) + alphaOffset
    如果计算后任何一个颜色通道值大于 255,则该值将被设置为 255。如果该值小于 0,它将被设置为 0。

    可以通过下列方式使用 ColorTransform 对象:

    在 BitmapData 类的 colorTransform() 方法的 colorTransform 参数中
    作为 Transform 对象(此对象可以用作显示对象的 transform 属性)的 colorTransform 属性
    从上述了解到ColorTransform()的基本功能了,例如
    var ctm:ColorTransform = new ColorTransform(.9,.9,.9); //逐渐变黑
    var ctm:ColorTransform = new ColorTransform(1,1,1,.9); //逐渐变淡
    var ctm:ColorTransform = new ColorTransform(.9,.8,.8); //逐渐变黑和变淡
    当然你可以动态改变ColorTransform的参数来实现变色,
    下面看看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)
    参数
    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 范围内。
    其实redMultiplier等你也可以定义为负数的!!不信你试试看!
    当然你想看简单的例子,你可以查阅adobe的帮助文件!

    http://help.adobe.com/zh_CN/AS3LCR/Flex_4.0/flash/geom/ColorTransform.html

    引用地址:
     

    我要评论