Bläddra i källkod

ColorConverter changes

zz85 12 år sedan
förälder
incheckning
0a9cff1ba5
1 ändrade filer med 24 tillägg och 42 borttagningar
  1. 24 42
      examples/js/math/ColorConverter.js

+ 24 - 42
examples/js/math/ColorConverter.js

@@ -1,52 +1,18 @@
 /**
  * @author bhouston / http://exocortex.com/
+ * @author zz85 / http://github.com/zz85
  */
 
 THREE.ColorConverter = {
 
-	fromRGB: function ( color, r, g, b ) {
-
-		return color.setRGB( r, g, b );
-
-	},
-
-	fromHex: function ( color, hex ) {
-
-		return color.setHex( hex );
-
-	},
-
-	toHex: function ( color ) {
-
-		return color.getHex();
-
-	},
-	 
-	toHexString: function ( color ) {
-
-		return color.getHexString( color );
-
-	},
-
-	fromHSL: function ( color, h, s, l ) {
-
-		return color.setHSL( h, s, l );
-	},
-
-	toHSL: function ( color ) {
-
-		return color.getHSL( color );
-
-	},
-
-	fromHSV: function ( color, h, s, v ) {
+	setHSV: function ( color, h, s, v ) {
 
 		// https://gist.github.com/xpansive/1337890#file-index-js
 		return color.setHSL( h, ( s * v ) / ( ( h = ( 2 - s ) * v ) < 1 ? h : ( 2 - h ) ), h * 0.5 );
 
 	},
 
-	toHSV: function( color ) {
+	getHSV: function( color ) {
 
 		var hsl = color.getHSL();
 
@@ -58,19 +24,35 @@ THREE.ColorConverter = {
 			s: 2 * hsl.s / ( hsl.l + hsl.s ),
 			v: hsl.l + hsl.s
 		};
-		
 	},
 
-	fromStyle: function ( color, style ) {
+	// where c, m, y, k is between 0 and 1
+	
+	setCMYK: function ( color, c, m, y, k ) {
+
+		var r = ( 1 - c ) * ( 1 - k );
+		var g = ( 1 - m ) * ( 1 - k );
+		var b = ( 1 - y ) * ( 1 - k );
 
-		return color.setStyle( style );
+		return color.setRGB( r, g, b );
 
 	},
 
-	toStyle: function ( color ) {
+	getCMYK: function ( color ) {
 
-		return color.getStyle( color );
+		var r = color.r;
+		var g = color.g;
+		var b = color.b;
+		var k = 1 - Math.max(r, g, b);
+		var c = ( 1 - r - k ) / ( 1 - k );
+		var m = ( 1 - g - k ) / ( 1 - k );
+		var y = ( 1 - b - k ) / ( 1 - k );
+
+		return {
+			c: c, m: m, y: y, k: k
+		};
 
 	}
 
+
 };