flex根据两个颜色返回任意多个渐变颜色

//根据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);

最后效果图如下:


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、资源1项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值