设置后可以删除fabric.Canvas
中的backgroundImage吗:
canvas.setBackgroundImage('img_url',function() {
canvas.renderAll();
还是只是回到标准背景?将
backgroundColor
设置为white
不起作用。感谢您的帮助!
问候最大
最佳答案
这是renderAll
的fabric.Canvas
函数的摘录;
...
if (this.backgroundColor) {
canvasToDrawOn.fillStyle = this.backgroundColor;
canvasToDrawOn.fillRect(0, 0, this.width, this.height);
}
if (typeof this.backgroundImage === 'object') {
this._drawBackroundImage(canvasToDrawOn);
}
...
显然,实际上,当您执行
canvas.backgroundColor = white;
时,背景色被设置为白色。但是,由于canvas.backgroundImage
仍然是Image
对象,因此会在您用背景填充的任何颜色上绘制该对象。因此,当您不想绘制
backgroundImage
时,需要将其设置为0
。它不适用于null
,因为typeof this.backgroundImage === 'object'
仍然评估为true
中的renderAll
,提示绘制backgroundImage
。不过,它可以与canvas.backgroundImage = 0;
一起使用。Example 。
关于javascript - fabricjs删除backgroundImage,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14171378/