2012-05-01 9 views
0

私はRGraphを使用していますので、勾配を持つ円を作成する必要があります。 のように3D球に見えます。 私はblobという新しいノードタイプを作成しました。私は コードを次のように実装しました。ただし、グラデーションは キャンバス全体に適用されます。 私はそれを説明することはできませんが、助けることができる人は誰ですか?私はここで答えましたRGraphの勾配を単一の円に適用しました

$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) 
    } 
} 

}); 

感謝

イワン

答えて

0

Google Group

は基本的には、radgradは次のようにする必要があります:

var radgrad = ctx.createRadialGradient(pos.x, pos.y, radius+20, pos.x-radius, pos.y,radius); 
関連する問題