Nếu bạn muốn bánh xe màu giống như ví dụ bạn đã cung cấp (và giống như hầu hết các bánh xe màu bạn sẽ tìm thấy trong phần sơn cửa hàng thủ công), nơi màu đỏ là đối diện màu xanh lá cây và màu xanh. vv, bạn có thể chỉ cần làm toán học sau đây để sửa đổi màu sắc của HSL hoặc HSV để có được màu sắc di sản ...
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;
}
Nó không chỉ là 'màu (góc) = HSV (góc, 1, 1) '? –
ok ... nhưng toán học đằng sau điều đó là gì? –
Bạn đã xem câu trả lời trên http://stackoverflow.com/questions/180/function-for-creating-color-wheels chưa? –