Automtic Palette Maker
creates a color palette automatically by dividing 255 by the user input.
HTML
<textarea id="console" rows="256" cols="64"></textarea>
JavaScript
var debugConsole = document.getElementById("console");
function log(report){
debugConsole.value += report + "\n";
}
var c = {}
c.red = 0;
c.green = 0;
c.blue = 0;
//c.current = "blue";
function colorCarries(){
var out = "blue";
if (c.blue == 255) {
if (c.green == 255){
if (c.red == 255){
out = "FULL";
} else {
c.green = 0;
out = "red"
}
} else {
c.blue = 0;
out = "green";
}
} else {
out = "blue";
}
return out;
}
function constrain(value1, value2, limit){
var out = 0;
var test = value1 + value2;
//log("constrain test: " + test);
if (test >= limit){
out = limit;
} else {
out = test;
}
//log("constrain output: " + out);
return out;
}
function makeRGBHEX(r,g,b){
var out = "";
if (r < 16){
out += "0";
}
out += r.toString(16);
if (g < 16){
out += "0";
}
out += g.toString(16);
if (b < 16){
out += "0";
}
out += b.toString(16);
return out;
}
function createColors(inc){
var current = "blue";
var increment = inc;
var out = ";PAINT.NET PALETTE AUTOMATICALLY GENERATED WITH:\n;https://jsfiddle.net/bv1wm6dh/6/\nff000000\n80000000\n";
while (current != "FULL") {
current = colorCarries();
//log(current);
c[current] = constrain(c[current],increment,255);
var tColor = makeRGBHEX(c.red,c.green,c.blue);
out += "ff";
out += tColor;
out += "\n";
}
log(out);
}
//createColors(128);
var input = prompt("Divide max r,g,b value by:","2");
//log(input);
var i = parseInt(input);
var i2 = constrain(i,0,255);
var i3 = Math.floor(255 / i2);
//log("255 divided by input: " + i3);
createColors(i3);