summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--instructions.html13
-rw-r--r--js/color.js41
2 files changed, 23 insertions, 31 deletions
diff --git a/instructions.html b/instructions.html
index ef84503..4ff57e9 100644
--- a/instructions.html
+++ b/instructions.html
@@ -42,6 +42,7 @@ deg(radians), rad(degrees)
<u>set pixel color</u>
rgb(r,g,b)
+rgbref([rgb])
black() white() red()
<u>color spaces</u>
@@ -51,12 +52,12 @@ xyz2hunterlab(xyz)
hunterlab2xyz(Lab)
xyz2cielab(xyz)
cielab2xyz(Lab)
-rgb2hsl (rgb)
-hsl2rgb (hsl)
-rgb2cmy (rgb)
-cmy2rgb (cmy)
-cmy2cmyk (cmy)
-cmyk2cmy (cmyk)
+rgb2hsl(rgb)
+hsl2rgb(hsl)
+rgb2cmy(r,g,b)
+cmy2rgb(cmy)
+cmy2cmyk(cmy)
+cmyk2cmy(cmyk)
(not all have been tested)
</pre>
</body>
diff --git a/js/color.js b/js/color.js
index d51bb67..da4f430 100644
--- a/js/color.js
+++ b/js/color.js
@@ -1,8 +1,10 @@
// http://www.easyrgb.com/index.php?X=MATH&H=01#text1
function rgb(x,y,z){
- if (x.length) { r=x[0]; g=x[1]; b =x[2]; }
- else { r=x; g=y; b=z }
+ r=x; g=y; b=z
+}
+function rgbref(rgb){
+ r=rgb[0]; g=rgb[1]; b=rgb[2];
}
function black(){ rgb(0,0,0) }
function white(){ rgb(255,255,255) }
@@ -52,24 +54,20 @@ function xyz2rgb(xyz){
return [r,g,b]
}
-function xyz2hunterlab (X,Y,Z) {
- if (X.length) {
- Z = X[2]
- Y = X[1]
- X = X[0]
- }
+function xyz2hunterlab (XYZ) {
+ var X = XYZ[0]
+ var Y = XYZ[1]
+ var Z = XYZ[2]
var L = 10 * sqrt( Y )
var a = 17.5 * ( ( ( 1.02 * X ) - Y ) / sqrt( Y ) )
var b = 7 * ( ( Y - ( 0.847 * Z ) ) / sqrt( Y ) )
return [L,a,b]
}
-function hunterlab2xyz (L,a,b) {
- if (L.length) {
- b = L[2]
- a = L[1]
- L = L[0]
- }
+function hunterlab2xyz (Lab) {
+ var L = Lab[0]
+ var a = Lab[1]
+ var b = Lab[2]
var_Y = L / 10
var_X = a / 17.5 * L / 10
var_Z = b / 7 * L / 10
@@ -122,12 +120,10 @@ function cielab2xyz (lab){
return [x,y,z]
}
-function rgb2hsl (R,G,B){
- if (R.length) {
- B = R[2]
- G = R[1]
- R = R[0]
- }
+function rgb2hsl (RGB){
+ var R = RGB[0]
+ var G = RGB[1]
+ var B = RGB[2]
var var_R = ( R / 255 ) //RGB from 0 to 255
var var_G = ( G / 255 )
var var_B = ( B / 255 )
@@ -164,11 +160,6 @@ function rgb2hsl (R,G,B){
}
function hsl2rgb (H, S, L) {
var R,G,B;
- if (H.length) {
- L = H[2]
- S = H[1]
- H = H[0]
- }
var var_1, var_2;
if ( S == 0 ) { //HSL from 0 to 1
R = L * 255 //RGB results from 0 to 255