function Color (opt) { if (opt.length == 3) { this.r = opt[0]; this.g = opt[1]; this.b = opt[2]; this.a = 1; } else if (opt.length == 4) { this.r = opt[0]; this.g = opt[1]; this.b = opt[2]; this.a = opt[3]; } } Color.prototype.toString = function(){ return "rgba(" + this.r + "," + this.g + "," + this.b + "," + this.a + ")"; } Color.prototype.rgb = function(){ return [ this.r, this.g, this.b ]; } Color.prototype.rgba = function(){ return [ this.r, this.g, this.b, this.a ]; } Color.prototype.hsl = function(){ } Color.prototype.copy = function(){ return new Color( this.rgba() ); } Color.prototype.alpha = function(a){ var c = this.copy() c.a = a; return c; } var colors = { red: new Color([ 255,0,0,0.1 ]), blue: new Color([ 0,0,255 ]), black: new Color([ 0,0,0 ]), green: new Color([ 0,128,0 ]), cyan: new Color([ 0,255,255 ]), yellow: new Color([ 255,255,0 ]), peru: new Color([ 205,133,63 ]), }