2017-04-24 65 views
0

我正在使用SVG.js库在JavaScript中绘制曲线。要做到这一点,我用下面的代码SVG.js库 - 无法使用draw.path绘制曲线

var x1 = parseInt(left_bulb[i]) + 4; 
       var y1 = parseInt(top_bulb[i]) + 16 
       var x2 = parseInt(left_bulb[i]) + 4; 
       var y2 = parseInt(top_bulb[i]) + 16 
       var x3 = parseInt(left_bulb[i]) + 16 - 1; 
       var y3 = parseInt(top_bulb[i]); 
       var x4 = parseInt(left_bulb[i]) + 16 + 4; 
       var y4 = parseInt(top_bulb[i]) + 16 - 1; 
    draw.path('M x1,y1 C x2,y2 x3,y3 x4,y4').stroke({width:3, color:"#000000"}); 

下面draw.path()代码工作正常。当给出直接数字时,此函数可以正常工作,但不会使用x1,y1等等变量。你能告诉我如何使用给定的变量来处理它。它没有给出上述代码的曲线。

var path = draw.path('M100,200 C100,100 400,100 400,200 H 500 V 400 Z') 
      .stroke({width:9, color:"#f23"}) 
      .fill('orange') 

回答

0

您需要评估参数。此刻你只是在其中创建一个字符串x1,y1等字符串。

var x1 = parseInt(left_bulb[i]) + 4; 
var y1 = parseInt(top_bulb[i]) + 16 
var x2 = parseInt(left_bulb[i]) + 4; 
var y2 = parseInt(top_bulb[i]) + 16 
var x3 = parseInt(left_bulb[i]) + 16 - 1; 
var y3 = parseInt(top_bulb[i]); 
var x4 = parseInt(left_bulb[i]) + 16 + 4; 
var y4 = parseInt(top_bulb[i]) + 16 - 1; 
draw.path('M ' + x1 + ',' + y1 + ' C ' + x2 + ',' + y2 + ' ' + x3 + ',' + y3 + ' ' + x4 + ',' + y4).stroke({width:3, color:"#000000"}); 
+0

谢谢,它的工作。 – padma