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)]);



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