0

我正在使用 RGraph,我需要创建带有渐变的圆圈,因此它们看起来是 3D 球体。我创建了一个名为 blob 的新节点类型,并实现了如下代码。但是,渐变应用于整个画布。不知道我能不能解释一下,但是有没有人可以提供帮助?

$jit.RGraph.Plot.NodeTypes.implement({
'blob': {
    render: function (node, canvas) {
        var pos = node.pos.getc(true),
        dim = node.getData("dim");

        // not sure about this code
        var ctx = canvas.getCtx();
        var radgrad = ctx.createRadialGradient(0, 0, dim, 0, 0, node.getPos().rho);
        radgrad.addColorStop(0, '#A7D30C');
        radgrad.addColorStop(0.9, '#019F62');
        radgrad.addColorStop(1, 'rgba(1,159,98,0)');
        ctx.fillStyle = radgrad;

        this.nodeHelper.circle.render("fill", pos, dim, canvas)
    },
    contains: function (node, canvas) {
        var pos = node.pos.getc(true),
        dim = node.getData("dim");
        return this.nodeHelper.circle.contains(pos, canvas, dim)
    }
}

});

非常感谢

伊万

4

1 回答 1

0

我在这里得到了答案: Google Group

基本上,radgrad 应该是这样的:

var radgrad = ctx.createRadialGradient(pos.x, pos.y, radius+20, pos.x-radius, pos.y,radius); 
于 2012-05-17T19:26:56.510 回答