Buna renk enterpolasyonu denir . Degradelerin kaputun altında yaptığı şey budur. Bunu çeşitli araçlar ve yöntemler kullanarak yapabilirsiniz ve sonuçların tam olarak nasıl enterpolasyon yapıldığı yönteme bağlıdır.
Bunu genellikle JavaScript kullanan web projeleri için yapıyorum, böylece bu müzik görselleştiricide olduğu gibi renkleri dinamik olarak değiştirebiliyorum . Yukarıdaki örnekten alınan, RGB kullanarak çok basit bir doğrusal enterpolasyon yöntemine sahip bir JavaScript uygulaması aşağıdaki gibidir:
// 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;
}
Bu şekilde kullanılır ve enterpolasyonlu renklerin bir dizisini döndürür:
var colorArray = interpolateColors("rgb(94, 79, 162)", "rgb(247, 148, 89)", 5);
Renk enterpolasyonu yapmak için PhotoShop (ve muhtemelen diğer program) uzantılarını da bulabilirsiniz. Bununla birlikte, enterpolasyon yönteminin arzu ettiğinizle aynı olduğundan emin olmak isteyebilirsiniz, çünkü enterpolasyona dayalı herhangi bir işlevi kullanabilirsiniz.