⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colorutils.as

📁 QS我也没用过
💻 AS
字号:
package qs.utils
{
public class ColorUtils
{
	public static function HSVToRGB(hsv:Object):Number
	{
		var src:Object = hsv;
		var dst:Number
	
		var h:Number,s:Number,v:Number;
	
		h = hsv.h;
		s = hsv.s;
		v = hsv.v;
		
		var i:Number;
		var f:Number, p:Number, q:Number, t:Number;
		var r:Number,g:Number,b:Number;
		if( s == 0 ) {
			// achromatic (grey)
			v = Math.floor(v*255);
			dst = (v << 16) + (v << 8) + v;
			return dst;
		}
		h /= 60;			// sector 0 to 5
		i = Math.floor( h );
		f = h - i;			// factorial part of h
		p = v * ( 1 - s );
		q = v * ( 1 - s * f );
		t = v * ( 1 - s * ( 1 - f ) );
		switch( i ) {
			case 0:
				r = v;
				g = t;
				b = p;
				break;
			case 1:
				r = q;
				g = v;
				b = p;
				break;
			case 2:
				r = p;
				g = v;
				b = t;
				break;
			case 3:
				r = p;
				g = q;
				b = v;
				break;
			case 4:
				r = t;
				g = p;
				b = v;
				break;
			default:		// case 5:
				r = v;
				g = p;
				b = q;
				break;
		}
		dst = (Math.floor(r*255) << 16) + (Math.floor(g*255) << 8) + (Math.floor(b*255));
		return dst;
	}

	public static function RGBToHSV(src:Number):Object
	{
		var dst:Object = new Object();
	
		var red:Number =  (src >> 16) / 255;
		var green:Number = (0xFF & (src >> 8)) / 255;
		var blue:Number = (0xFF & src)/ 255;
	
		var min:Number = Math.min( Math.min(red, green) , blue );
		var max:Number= Math.max( Math.max(red, green) , blue );
		dst.v = max;				// v
		var delta:Number = (max - min);
		if( max != 0 )
			dst.s = delta / (max);		// s
		else {
			// r = g = b = 0		// s = 0, v is undefined
			dst.s = 0;
			dst.h = -1;
			return dst;
		}
		if( red == max )
		{
			dst.h = ( green - blue ) / delta;		// between yellow & magenta
		}
		else if( green == max )
		{
			dst.h = 2 + ( blue - red ) / delta;	// between cyan & yellow
		}
		else
		{
			dst.h = 4 + ( red - green ) / delta;	// between magenta & cyan
		}
		dst.h *= 60;				// degrees
		if( dst.h < 0 )
			dst.h += 360;
	
	
		return dst;
		
	}
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -