在網頁
http://flash.9ria.com/thread-33919-1-1.html
找到如下代碼。他可以指定 開始顏色, 結束顏色, 以及 步長,函數返回一個 java 數組,數組中包含有顏色代碼。
選擇 開始顏色, 結束顏色時可以參見下面的 顏色代碼錶。
http://book.wyfwgw.com/color.htm
/** * 輸入一個顏色,將它拆成三個部分: * 紅色,綠色和藍色 */ public static function retrieveRGBComponent( color:uint ):Array { var r:Number = color >> 16; var g:Number = (color >> 8) & 0xff; var b:Number = color & 0xff; return [r, g, b]; } /** * 紅色,綠色和藍色三色組合 */ public static function generateFromRGBComponent( rgb:Array ):int { if( rgb == null || rgb.length != 3 || rgb[0] < 0 || rgb[0] > 255 || rgb[1] < 0 || rgb[1] > 255 || rgb[2] < 0 || rgb[2] > 255 ) return 0xFFFFFF; return rgb[0] << 16 | rgb[1] << 8 | rgb[2]; } /** * color1是淺色,color2是深色,實現漸層 * steps是指在多大的地區中漸層, */ public static function generateTransitionalColor( color1:uint, color2:uint, steps:int):Array { if( steps < 3 ) return []; var color1RGB:Array = retrieveRGBComponent( color1 ); var color2RGB:Array = retrieveRGBComponent( color2 ); var colors:Array = []; colors.push( color1 ); steps = steps - 2; var redDiff:Number = color2RGB[0] - color1RGB[0]; var greenDiff:Number = color2RGB[1] - color1RGB[1]; var blueDiff:Number = color2RGB[2] - color1RGB[2]; for( var i:int = 1; i < steps - 1; i++) { var tmpRGB:Array = [ color1RGB[0] + redDiff * i / steps, color1RGB[1] + greenDiff * i / steps, color1RGB[2] + blueDiff * i / steps ]; colors.push( generateFromRGBComponent( tmpRGB ) ); } colors.push( color2 ); return colors; }