在 Fabric JS 中更改 Canvas 的背景
Change background of Canvas in Fabric JS
我正在尝试更改 Canvas 的背景。我可以更改 canvas 的背景,但是一旦我点击背景。它重新加载原始背景并且不显示更改后的背景。希望你明白我想说什么。以下是实现更改 select 框上的 background.Based 的代码,图像将加载
HTML
<div id="wrapper">
<div class="canvas-container" style="float:left;">
<canvas id="c" width="500" height="500" style="border:1px solid #ccc"> </canvas>
</div>
</div>
<select id="color" class="styled-select">
<option value="red">Red</option>
<option value="green">Green</option>
<option value="purple">Purple</option>
</select>
脚本
var canvas = new fabric.Canvas('c');
canvas.setBackgroundImage("red.png", canvas.renderAll.bind(canvas));
$('select#color').on('change', function() {
var imageName=this.value+".png"
var canvas = new fabric.Canvas('c');
canvas.setBackgroundImage(imageName, canvas.renderAll.bind(canvas));
})
欢迎来到 Stack overflow!
你有两次var canvas = new fabric.Canvas('c');
。删除最后一个。
要更改背景颜色,您只需要 canvas.backgroundColor
属性:
$('select#color').on('change', function() {
canvas.backgroundColor = this.value;
canvas.renderAll();
});
我为此创建了一个 fiddle:http://jsfiddle.net/q6Y6k/15/
希望对您有所帮助。
我正在尝试更改 Canvas 的背景。我可以更改 canvas 的背景,但是一旦我点击背景。它重新加载原始背景并且不显示更改后的背景。希望你明白我想说什么。以下是实现更改 select 框上的 background.Based 的代码,图像将加载
HTML
<div id="wrapper">
<div class="canvas-container" style="float:left;">
<canvas id="c" width="500" height="500" style="border:1px solid #ccc"> </canvas>
</div>
</div>
<select id="color" class="styled-select">
<option value="red">Red</option>
<option value="green">Green</option>
<option value="purple">Purple</option>
</select>
脚本
var canvas = new fabric.Canvas('c');
canvas.setBackgroundImage("red.png", canvas.renderAll.bind(canvas));
$('select#color').on('change', function() {
var imageName=this.value+".png"
var canvas = new fabric.Canvas('c');
canvas.setBackgroundImage(imageName, canvas.renderAll.bind(canvas));
})
欢迎来到 Stack overflow!
你有两次var canvas = new fabric.Canvas('c');
。删除最后一个。
要更改背景颜色,您只需要 canvas.backgroundColor
属性:
$('select#color').on('change', function() {
canvas.backgroundColor = this.value;
canvas.renderAll();
});
我为此创建了一个 fiddle:http://jsfiddle.net/q6Y6k/15/
希望对您有所帮助。