在画架中填充封闭的路径

时间:2014-05-23 00:14:26

标签: svg easeljs createjs

有没有办法在画架中填充封闭的绘制路径?我有一个mt(x_t,y_t).lt(x_(t + 1),y_(t + 1))的字符串,它绘制了一个古怪的形状。形状封闭,但我找不到让它实际填充封闭区域的方法。有什么想法吗?

T是要连接的坐标数,[round.X,round.Y]是坐标对的Tx2数组,ghf是图形对象。 xline.y只是y值最低的。

    for(var i=0;i<T;i++){

        x0 = round.X[i];
        y0 = round.Y[i];

        // scale for drawing
        px0 = Math.round(xscale * x0);
        py0 = Math.round(yscale * y0) + xline.y;

        if(x0>gp.xmin){ // if not first point ...
            ghf.mt(prevx,prevy).lt(px0,py0); // draw line from prev point to this point
        }

        // set this point as prev point
        prevx = px0;
        prevy = py0;
    }
// fill out thing
ghf.mt(prevx,prevy).lt(px0,xline.y);
ghf.mt(px0,xline.y).lt(0,xline.y);

x0 = round.X[0];
y0 = round.Y[0];
px0 = Math.round(xscale * x0);
py0 = Math.round(yscale * y0) + xline.y;
ghf.mt(0,xline.y).lt(px0,py0);
ghf.f('red');

1 个答案:

答案 0 :(得分:0)

您的代码不是很有帮助,但我认为您需要的是beginFill方法。请参阅link

你可以像这样使用它:

var ball = new createjs.Shape();
ball.graphics.setStrokeStyle(5, 'round', 'round');
ball.graphics.beginStroke(('#000000'));
ball.graphics.beginFill("#FF0000").drawCircle(0,0,50);
ball.graphics.endStroke();
ball.graphics.endFill();
ball.graphics.setStrokeStyle(1, 'round', 'round');
ball.graphics.beginStroke(('#000000'));
ball.graphics.moveTo(0,0);
ball.graphics.lineTo(0,50);