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

try*_*arn 0 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();   
 });
Run Code Online (Sandbox Code Playgroud)

Chr*_*all 5

看起来是因为您正在加载本地文件,并且仅当您点击运行时:

Not allowed to load local resource: file:///C:/UsersY321Desktopabc.jpg (index):1
Error loading file:///C:/UsersY321Desktopabc.jpg 
Run Code Online (Sandbox Code Playgroud)

如果我line 36改为

canvas.setBackgroundImage('http://www.placehold.it/250x250', canvas.renderAll.bind(canvas));
Run Code Online (Sandbox Code Playgroud)

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

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