Skip to content

Instantly share code, notes, and snippets.

@hustcc
Created December 23, 2015 12:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hustcc/aabca24cf64c38d52e06 to your computer and use it in GitHub Desktop.
Save hustcc/aabca24cf64c38d52e06 to your computer and use it in GitHub Desktop.
// 颜色#FF00FF格式转为Array(255,0,255)
function color2rgb(color) {
var r = parseInt(color.substr(1, 2), 16);
var g = parseInt(color.substr(3, 2), 16);
var b = parseInt(color.substr(5, 2), 16);
return new Array(r, g, b);
}
// 颜色Array(255,0,255)格式转为#FF00FF
function rgb2color(rgb) {
var s = "#";
for (var i = 0; i < 3; i++) {
var c = Math.round(rgb[i]).toString(16);
if (c.length == 1)
c = '0' + c;
s += c;
}
return s.toUpperCase();
}
// 生成渐变
function gradient(start, end, step) {
var result = [];
var Gradient = new Array(3);
var A = color2rgb(start);
var B = color2rgb(end);
for (var N = 0; N <= step; N++) {
for (var c = 0; c < 3; c++) // RGB通道分别进行计算
{
Gradient[c] = A[c] + (B[c] - A[c]) / step * N;
}
result.push(rgb2color(Gradient));
}
return result;
}
var ColorA = "#c597ff";
var ColorB = "#73e7a9";
console.log(gradient(ColorA, ColorB, 10)); // 运行程序
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment