產生顏色代碼的 Java程式

來源:互聯網
上載者:User
在網頁
 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;                        }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.