·您当前的位置:首页 > 技术教程 > SRS流媒体技术 >

[AS3]as3做取色器源代码参考(as3取色器教程)

时间:2017-06-03 14:15iteye.com
[AS3]as3做取色器源代码参考(as3取色器教程)

[AS3]as3做取色器源代码参考(as3取色器教程)

  1. public static function rgbTouint(rgbarr:Array):uint//ok   uintTorgb   
  2.    {   
  3.     return rgbarr[0]*Math.pow(256,2)+rgbarr[1]*Math.pow(256,1)+rgbarr[2]   
  4.    }     
  5.      
  6.    public static function computeXTC(c:uint,x:Number,y:Number):uint   
  7.    {   
  8.     var rgbArr:Array = new Array();   
  9.     rgbArr = uintTorgb(c);   
  10.     //trace(rgbTouint(rgbArr).toString(16))   
  11.     if(rgbArr[0] == 255)//red system   
  12.     {   
  13.      //trace(rgbArr[1])   
  14.      rgbArr[0] = -y+255;   //R   
  15.      rgbArr[1] = Math.round(-(((rgbArr[1]-255)/Math.pow(255,2)*x)+1)*y+(rgbArr[1]-255)/255*x+255);//G   
  16.      rgbArr[2] = Math.round(-(((rgbArr[2]-255)/Math.pow(255,2)*x)+1)*y+(rgbArr[2]-255)/255*x+255);   
  17.      trace("X="+x+"Y="+y+"   "+   
  18.      rgbArr[0].toString(16)+"   "+   
  19.      rgbArr[1].toString(16)+"   "+   
  20.      rgbArr[2].toString(16)+"   "+   
  21.      "    AAAAAAAAAA")   
  22.      return rgbTouint(rgbArr);   
  23.     }   
  24.     if(rgbArr[1] == 255)//green system   
  25.     {   
  26.      rgbArr[1] = -y+255;   
  27.      rgbArr[0] = Math.round(-(((rgbArr[0]-255)/Math.pow(255,2)*x)+1)*y+(rgbArr[0]-255)/255*x+255);//G   
  28.      rgbArr[2] = Math.round(-(((rgbArr[2]-255)/Math.pow(255,2)*x)+1)*y+(rgbArr[2]-255)/255*x+255);       
  29.      //trace(rgbTouint(rgbArr).toString(16)+"    BBBBBBBBBBBB")   
  30.      return rgbTouint(rgbArr);   
  31.     }   
  32.     if(rgbArr[2] == 255)// blue system   
  33.     {   
  34.      rgbArr[2] = -y+255;   
  35.      rgbArr[0] = Math.round(-(((rgbArr[0]-255)/Math.pow(255,2)*x)+1)*y+(rgbArr[0]-255)/255*x+255);//G   
  36.      rgbArr[1] = Math.round(-(((rgbArr[1]-255)/Math.pow(255,2)*x)+1)*y+(rgbArr[1]-255)/255*x+255);       
  37.      //trace(rgbTouint(rgbArr).toString(16)+"    CCCCCCCCCC")   
  38.      return rgbTouint(rgbArr);   
  39.     }   
  40.     return   rgbTouint(rgbArr);   
  41. }   

来源http://chaimzane.iteye.com/blog/1584375

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器