Flex生成颜色渐变值算法

前不久在Flex中完成了一个颜色渐变的算法,感觉还不错,便记录下来,通过设置起始颜色值和终止颜色值,返回一个渐变颜色数组,代码如下:

private function ColorsGradient(ColorArray:Array):Array
{
	var r:int;
	var g:int;
	var b:int;
	var colorArr:Array=new Array();
	var num:Number=255/(ColorArray.length-1); //根据渲染颜色数,获得颜色变化次数
	for(var i:int=0;i<ColorArray.length-1;i++)
	{
		for(var j:int=0;j<num+1;j++)
		{
			r=ColorArray[i+1].red-ColorArray[i].red;
			g=ColorArray[i+1].green-ColorArray[i].green;
			b=ColorArray[i+1].blue-ColorArray[i].blue;
						
			r=ColorArray[i].red+r*j/num;
			g=ColorArray[i].green+g*j/num;
			b=ColorArray[i].blue+b*j/num;
						
			colorArr.push([0,r,g,b]);
		}
	}
	return colorArr;
}

使用方法:

	ColorsGradient([new Color(150,255,255),new Color(255,255,150),new Color(255,150,150)]);



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章