我使用的是fabricJS 3.0.0和2.7.0,但这两个版本在ITexts上都不支持粗体和斜体样式。
我尝试过的在这里:
1. this.canvas[0].getActiveObject().setSelectionStyles({fontWeight:'bold'});
this.canvas[0].renderAll();
2. this.canvas[0].getActiveObject().set('fontWeight', 'bold');
this.canvas[0].renderAll();
但他们都没有应用粗体或斜体,任何人都可以为画布提供建议或补丁吗?
如果要
使用setSelectionStyles,则需要先选择一些文本或作为参数传递,然后将样式直接设置为文本对象将导致应用整个文本。
演示
var canvas = new fabric.Canvas('c');
var text = new fabric.Text('Hello Fabricjs');
canvas.add(text);
setTimeout(function(){
var selectionStart = 2,
selectionEnd = 8;
text.setSelectionStyles({fontWeight:'bold',fontStyle:'italic' }, selectionStart, selectionEnd);
//text.set('fontWeight', 'bold');
canvas.renderAll();
},1000)
canvas{
border:1px solid;
}
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.0.0/fabric.js"></script>
<canvas id='c'></canvas>