我正在使用fabricJS 3.0.0和2.7.0,但是两个版本都不支持IText上的粗体和斜体样式。
我尝试过的是这里:
1. this.canvas[0].getActiveObject().setSelectionStyles({fontWeight:'bold'});
this.canvas[0].renderAll();
2. this.canvas[0].getActiveObject().set('fontWeight', 'bold');
this.canvas[0].renderAll();
但是他们都没有使用粗体或斜体, 任何人都可以提出建议或修补画布吗?
答案 0 :(得分:0)
如果要使用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>