code: function init(input) {
  
  		// Gradients
  		if (input && input.stops) {
  			stops = map(input.stops, function (stop) {
  				return Color(stop[1]);
  			});
  
  		// Solid colors
  		} else {
  			// rgba
  			result = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(input);
  			if (result) {
  				rgba = [pInt(result[1]), pInt(result[2]), pInt(result[3]), parseFloat(result[4], 10)];
  			} else { 
  				// hex
  				result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(input);
  				if (result) {
  					rgba = [pInt(result[1], 16), pInt(result[2], 16), pInt(result[3], 16), 1];
  				} else {
  					// rgb
  					result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(input);
  					if (result) {
  						rgba = [pInt(result[1]), pInt(result[2]), pInt(result[3]), 1];
  					}
  				}
  			}
  		}		
  
  	}
docs: Parse the input color to rgba array
  @param {String} input