打印

[AS3] 设置MC颜色强度

我需要设置一系列MC的颜色为同一色调,以不同的颜色强度来区分,强度区分我用的Color类的brightness属性来设置,可是遇到 了一个问题,代码如下:
import fl.motion.Color;
var MyColor:Color=new Color();
MyColor.color=0x336655;//设置色调
MyColor.brightness=-0.5;//设置亮度
a.transform.colorTransform=MyColor;
我的问题是,影片剪辑的变化没有按照原来的设想,现在是设置色调和设置亮度这两行代码哪一行在后面,哪一行就七座用,前一句设置好像被覆盖了一样,怎么使两个设置同时生效啊。
  另外请问大家:设置同色调,不同颜色强度还有其他的好方法吗?不要滤镜设置那一种,贴上来学习下,谢谢。
  我在黑羽的网站上看到一个帖子,是一个计算颜色亮度的函数,但是没有参数取值范围,大家帮我分析下,再次感谢!!


* @return 目标颜色 uint
*/
public function computeColor (color : uint, brightness : int) :uint {
               
        var r :  int = ((color>>>16) & 0x000000FF);
        var g : int = ((color>>> 8) & 0x000000FF);
        var b : int = ((color     ) & 0x000000FF);
        var y : int;
        var v : int;
        var u : int;

        //trace ("RGB:"+r+","+g+","+b);

        //********RGB->YUV*******
        //y=0.299*r+0.587*g+0.114*b;
            //u=-0.148*r-0.289*g+0.437*b;
            //v=0.615*r-0.515*g-0.100*b;
                    
         y  =   ((r*313524)>>20) + ((g*615514)>>20) + ((b*119538)>>20);
         u  =  -((155189*r)>>20) - ((303038*g)>>20) + ((458227*b)>>20);
         v  =   ((644874*r)>>20) - ((540016*g)>>20) - ((104857*b)>>20);
               
         y += brightness;
                    
        //********YUV->RGB*******
        
        //        r = y + 1.14*v;
        //        g = y - 0.39*u - 0.58*v;
        //        b = y + 2.03*u;

        r = y + ((1195376*v)>>20);
        g = y - ((408944*u)>>20) - ((608174*v)>>20);
        b = y + ((2128609*u)>>20);
                                
                                
        r = Math.max  (0,Math.min (r,255));
        g = Math.max (0,Math.min (g,255));
        b = Math.max (0,Math.min (b,255));
        
        //        trace ("RGB:"+r+","+g+","+b);
        
        return ((r<<16)|(g<<8)|b);
}

补充下

那个函数是用来计算同色相,不同亮度的一系列颜色值的,大家帮我看看两个参数的取值范围是多少,brightness参数的的增量为多少时才能有比较明显的亮度差别。谢谢!
楼主为什么不用setTransform

操作简单得多啊
http://www.flash023.cn 终极讨厌

回复

setTransform没有brightness属性,我想用它来达到设置不同强度的效果。

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!