SVG.js库 - 无法使用draw.path绘制曲线

时间:2017-04-24 08:28:47

标签: javascript svg svg.js

我正在使用 SVG.js 库在JavaScript中绘制曲线。为此,我使用了以下代码

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')

1 个答案:

答案 0 :(得分: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"});