FabricJS粗体,斜体样式在IText中不起作用

时间:2019-06-07 04:14:22

标签: angular canvas styles fabricjs textstyle

我正在使用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();

但是他们都没有使用粗体或斜体, 任何人都可以提出建议或修补画布吗?

1 个答案:

答案 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>

相关问题