Created
December 23, 2015 12:26
-
-
Save hustcc/aabca24cf64c38d52e06 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 颜色#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