इसे रंग प्रक्षेप कहा जाता है । यह है कि ग्रेडिएंट हुड के तहत क्या करते हैं। आप विभिन्न तरीकों और तरीकों का उपयोग करके ऐसा कर सकते हैं, और वास्तव में परिणाम कैसे प्रक्षेपित होते हैं यह विधि पर निर्भर करता है।
मैं आमतौर पर जावास्क्रिप्ट का उपयोग करते हुए वेब परियोजनाओं के लिए ऐसा करता हूं ताकि मैं गतिशील रूप से रंग बदल सकूं, जैसे कि इस संगीत विज़ुअलाइज़र में । एक जावास्क्रिप्ट कार्यान्वयन जिसमें आरजीबी का उपयोग करके रैखिक प्रक्षेप का एक बहुत ही सरल तरीका है, जो ऊपर दिए गए उदाहरण से खींचा गया है, इस प्रकार है:
// 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;
}
जिसका उपयोग ऐसे किया जाता है और प्रक्षेपित रंगों की एक सरणी लौटाता है:
var colorArray = interpolateColors("rgb(94, 79, 162)", "rgb(247, 148, 89)", 5);
आप रंग प्रक्षेप करने के लिए फोटोशॉप (और संभावित रूप से अन्य कार्यक्रम) एक्सटेंशन भी पा सकते हैं। हालाँकि, आप यह सुनिश्चित करने के लिए जांच कर सकते हैं कि प्रक्षेप की विधि वही है जो आप चाहते हैं, जैसा कि आप किसी भी फ़ंक्शन का उपयोग करके प्रक्षेपित करने के लिए उपयोग कर सकते हैं।