Se si desidera una ruota dei colori come nell'esempio fornito (e come la maggior parte delle ruote dei colori che si trovano in una sezione di colori del negozio di artigianato), dove il rosso è opposto al verde e il blu è opposto al giallo-arancio, viola al giallo opposto, ecc, si può semplicemente fare il seguente calcolo per modificare la tonalità di HSL o HSV per ottenere la tonalità eredità ...
double ToLegacyHue(double modernHue) {
modernHue = ((modernHue % 360) + 360) % 360; // normalize 360 > modernHue >= 0
double ret = 0;
if(modernHue < 60) {
ret = modernHue * 2;
} else if(modernHue < 120) {
ret = modernHue + 60;
} else {
ret = (modernHue - 120) * 0.75 + 180;
}
return ret;
}
double FromLegacyHue(double legacyHue) {
legacyHue = ((legacyHue % 360) + 360) % 360; // normalize 360 > legacyHue >= 0
double ret = 0;
if(legacyHue < 120) {
ret = legacyHue/2;
} else if(legacyHue < 180) {
ret = legacyHue - 60;
} else {
ret = (legacyHue - 180)/0.75 + 120;
}
return ret;
}
non è solo 'colore (angolo) = HSV (angolo, 1, 1) '? –
ok ... ma qual è la matematica dietro? –
Hai guardato le risposte su http://stackoverflow.com/questions/180/function-for-creating-color-wheels? –