2013-05-11 63 views

回答

20

您要使用的ctx.createRadialGradient()方法。

var canvas = document.getElementById('canvas'); 
var ctx = canvas.getContext('2d'); 

var x = 100, 
    y = 75, 
    // Radii of the white glow. 
    innerRadius = 5, 
    outerRadius = 70, 
    // Radius of the entire circle. 
    radius = 60; 

var gradient = ctx.createRadialGradient(x, y, innerRadius, x, y, outerRadius); 
gradient.addColorStop(0, 'white'); 
gradient.addColorStop(1, 'blue'); 

ctx.arc(x, y, radius, 0, 2 * Math.PI); 

ctx.fillStyle = gradient; 
ctx.fill(); 

实施例:http://jsfiddle.net/razh/sA6Wc/

+0

这里是基于接受的回答一个很好的粒子:http://jsfiddle.net/sA6Wc/422/ – 2014-12-07 05:23:04