我正在使用面料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)
});
感谢你。
答案 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)
});
});