Dies wird als Farbinterpolation bezeichnet . Es ist, was Steigungen unter der Haube tun. Sie können dies mit einer Vielzahl von Mitteln und Methoden tun. Wie genau die Ergebnisse interpoliert werden, hängt von der Methode ab.
Ich mache dies normalerweise für Webprojekte, die JavaScript verwenden, damit ich die Farben dynamisch ändern kann, wie in diesem Musik-Visualizer . Eine JavaScript-Implementierung mit einer sehr einfachen Methode zur linearen Interpolation mithilfe von RGB, die aus dem obigen Beispiel hervorgeht, sieht wie folgt aus:
// Returns a single rgb color interpolation between given rgb color
// based on the factor given; via https://codepen.io/njmcode/pen/axoyD?editors=0010
function interpolateColor(color1, color2, factor) {
if (arguments.length < 3) {
factor = 0.5;
}
var result = color1.slice();
for (var i = 0; i < 3; i++) {
result[i] = Math.round(result[i] + factor * (color2[i] - color1[i]));
}
return result;
};
// My function to interpolate between two colors completely, returning an array
function interpolateColors(color1, color2, steps) {
var stepFactor = 1 / (steps - 1),
interpolatedColorArray = [];
color1 = color1.match(/\d+/g).map(Number);
color2 = color2.match(/\d+/g).map(Number);
for(var i = 0; i < steps; i++) {
interpolatedColorArray.push(interpolateColor(color1, color2, stepFactor * i));
}
return interpolatedColorArray;
}
Welches wie folgt verwendet wird und ein Array der interpolierten Farben zurückgibt:
var colorArray = interpolateColors("rgb(94, 79, 162)", "rgb(247, 148, 89)", 5);
Sie können auch PhotoShop-Erweiterungen (und wahrscheinlich auch andere Programme) für die Farbinterpolation finden. Möglicherweise möchten Sie jedoch überprüfen, ob die Interpolationsmethode mit der gewünschten Methode übereinstimmt, da Sie für die Interpolation eine beliebige Funktion verwenden können.