/* Snippet Title:استنتاج لون من الاحمر الى الاخضر على حسب نسبة مئوية Snippet Link:http://www.awcore.com/snippets?snippet=161 Snippet Date:Wed, 24 Aug 11 02:23:58 +0200 Snippet Last Update:Wed, 24 Aug 11 02:23:58 +0200 */ var percentColors = [ { pct: 0.0, color: { r: 0xff, g: 0x00, b: 0 } }, { pct: 0.5, color: { r: 0xff, g: 0xff, b: 0 } }, { pct: 1.0, color: { r: 0x00, g: 0xff, b: 0 } } ]; var getColorForPercentage = function(pct) { for (var i = 0; i < percentColors.length; i++) { if (pct <= percentColors[i].pct) { var lower = percentColors[i - 1] || { pct: 0.1, color: { r: 0x0, g: 0x00, b: 0 } }; var upper = percentColors[i]; var range = upper.pct - lower.pct; var rangePct = (pct - lower.pct) / range; var pctLower = 1 - rangePct; var pctUpper = rangePct; var color = { r: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper), g: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper), b: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper) }; return 'rgb(' + [color.r, color.g, color.b].join(',') + ')'; } } }