flex根据两个颜色返回任意多个渐变颜色
2013-12-04 09:43
288 查看
//根据2个颜色返回多个渐变色 public class ColorGradient { public function ColorGradient() { } /** * 输入一个颜色,将它拆成三个部分: * 红色,绿色和蓝色 */ 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; } }
使用方法:只需调用generateTransitionalColor方法,例如:
var c1:uint=0xFF0000;
var c2:uint=0x000000;
var colors:Array=ColorGradient.generateTransitionalColor(c1,c2,10);
最后效果图如下:
相关文章推荐
- 我的IOS库-任意颜色渐变的圆环
- Flex设置DataGrid单元格颜色以及表头背景颜色渐变
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head
- FLEX实践—PieChart综合应用(颜色渐变、显示选中值、选中部分突出、数据钻探等)
- java实现输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head
- GridPanel根据返回的值标记某一行的颜色
- 编写一个函数模板,可对两个任意格式的数值(包括字符格式)进行比较,返回两者的最小值,同时保证较高的精度。
- iOS 根据颜色返回图片
- 给定一个字符串,里面用空格分开为多个(>=6)部分组合,如:01 02 03 04 05 06 07 …… 写一个函数返回任意6个组合的字符串: 输出格式实例: 01 02 03 04 05 06 0
- 利用递增的数字返回循环渐变的颜色的js函数
- Flex 的DataGrid列 的字体,根据不同情况 渲染不同颜色
- Flex 的DataGrid列 的字体,根据不同情况 渲染不同颜色
- List集合中删除属性(一个或者多个属性)相同的对象返回List且根据对象属性进行排序输出
- 利用递增的数字返回循环渐变的颜色的js代码
- Flex中生成颜色渐变值
- 给出两个颜色,计算中间颜色返回数组
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序
- Flex PieChart 例子的效果,点击滑出和颜色渐变
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序
- 10.根据主类,完成Compare类,该类有两个boolean类型的方法,方法isSameNum用来比较两组数是否完全相同,方法isSameSum用来比较两组数的和是否相等。相同或者相等返回true,