Für diejenigen, die etwas suchen, können sie kopieren und einfügen. Hat eine schnelle Funktion für RGB-Farben gemacht. Gibt eine einzelne Farbe zurück, die ratio
näher an rgbColor2
ist.
function fadeToColor(rgbColor1, rgbColor2, ratio) {
var color1 = rgbColor1.substring(4, rgbColor1.length - 1).split(','),
color2 = rgbColor2.substring(4, rgbColor2.length - 1).split(','),
difference,
newColor = [];
for (var i = 0; i < color1.length; i++) {
difference = color2[i] - color1[i];
newColor.push(Math.floor(parseInt(color1[i], 10) + difference * ratio));
}
return 'rgb(' + newColor + ')';
}
den Code als newRed nie erreichen gezeigt wird, sowohl wegen der Integer-Abschneiden und ein Off-by-one Fehler. Besser zu restrukturieren als currentRed = oldRed + ((* (newRed - oldRed))/(steps - 1) –
ja ich dachte daran, als ich es schrieb - aber es gibt ein paar Möglichkeiten, und ich dachte ich würde eine Übung für den Implementierer hinterlassen :-) – nickf