图像动画功能在面料js中不起作用?

时间:2013-02-27 05:16:04

标签: javascript html5 html5-canvas fabricjs

我正在使用面料js进行画布动画,我创建了带有'canvas'的画布,然后将图像放入其中并将左侧位置设置为零。它工作正常,但动画功能不起作用。

请帮帮我。

我的代码:

HTML:

<canvas id="canvas" width="990" height="285">
    This text is displayed if your browser 
    does not support HTML5 Canvas.  
</canvas>

的javascript:

var canvas = new fabric.Canvas('canvas');

var image = new Image();
image.src = 'images/body.png';

var bugBody = fabric.Image.fromURL(image.src, function (oImg) {
    canvas.add(oImg);
        oImg.set('left',0)
});

bugBody.animate('left', 200, {
    onChange: canvas.renderAll.bind(canvas)
});

感谢你。

1 个答案:

答案 0 :(得分:5)

我认为这是因为你的图像没有完整加载。
因此,您可以将动画代码放入回调函数中。
检查这个jsfiddle:http://jsfiddle.net/9x9Qc/
像这样:

var srcImg = "http://fabricjs.com/lib/pug.jpg";

// canvas
var canvas = new fabric.Canvas('c');

fabric.Image.fromURL(srcImg, function (oImg) {
    canvas.add(oImg);
    oImg.set('left',0);
    oImg.set('top', 100);
    oImg.scale(.25);
    canvas.renderAll();

    // and then, we can animate the image    
    oImg.animate('left', 200, {
        onChange: canvas.renderAll.bind(canvas)
    });
});