每次使用Fabric.js时都不会出现背景图像

时间:2014-03-21 17:29:46

标签: javascript fabricjs

您好我在我的示例中使用了背景图片。如果我正在重新加载页面,它会出现一次,但如果我再次运行该程序则不会出现。

我尝试使用setBackgroundImage设置图像然后渲染它。它在刷新页面后首先显示,但之后不起作用。

小提琴在这里 - http://jsfiddle.net/wv9MU/6/

// create a wrapper around native canvas element (with id="c")
var canvas = new fabric.Canvas('canvas');

canvas.setBackgroundImage('http://fabricjs.com/assets/jail_cell_bars.png',function() { 
  canvas.renderAll(); 
});


 canvas.setHeight(400);
 canvas.setWidth(1300);
canvas.renderAll();
// create a rectangle object


document.getElementById('1').addEventListener('click', function (e) {
// create a rectangle1 object
var rect = new fabric.Rect({
  left: 100,
  top: 100,
  fill: 'aqua',

  width: 200,
  height: 200
});

// "add" rectangle1 onto canvas
canvas.add(rect);
rect.lockRotation=true;

 canvas.renderAll();   
 });

canvas.setBackgroundImage('C:\Users\131321\Desktop\abc.jpg', canvas.renderAll.bind(canvas));


document.getElementById('2').addEventListener('click', function (e) {
// create a rectangle2 object
var rect = new fabric.Rect({
  left: 150,
  top: 150,
  fill: 'green',
  width: 50,
  height: 50
});

// "add" rectangle2 onto canvas
canvas.add(rect);
rect.lockRotation=true;
 canvas.renderAll();   
 });

1 个答案:

答案 0 :(得分:2)

看起来好像是因为你正在加载一个本地文件,只有当你点击run:

Not allowed to load local resource: file:///C:/UsersY321Desktopabc.jpg (index):1
Error loading file:///C:/UsersY321Desktopabc.jpg 

如果我将line 36更改为

canvas.setBackgroundImage('http://www.placehold.it/250x250', canvas.renderAll.bind(canvas));

每次都有效。 http://jsfiddle.net/wv9MU/7/

尝试将UsersY321Desktopabc.jpg添加到您的网站文件夹并从那里链接。