使用fabric.js,在按钮单击时增加画布文本的fontSize

时间:2013-08-28 04:46:08

标签: javascript jquery html css fabricjs

我正在使用fabric.js在画布上工作。我已经在画布上创建了文本。现在,点击按钮我希望增加字体大小。

canvas.set({fontSize,40});
这不行吗?任何其他方法。我已经创建了小提琴Check

   var canvas = window._canvas = new fabric.Canvas('c');
var text = new fabric.Text('Sample', {
    left: 100,
    top: 100,
    fill: 'navy'
});

canvas.add(text);

document.getElementById('textinput').addEventListener('change', function (e) {
    var obj = canvas.getActiveObject();

    if (!obj) return;

    obj.setText(e.target.value);
    canvas.renderAll();
});

document.getElementById('btn').addEventListener('click', function (e) {
    var obj = canvas.getActiveObject();

   alert('button clicked');
     if (!obj) return;

    obj.set(fontSize,40);
    canvas.renderAll();
});

2 个答案:

答案 0 :(得分:7)

这是一个有效的代码,

var canvas = window._canvas = new fabric.Canvas('c');
var text = new fabric.Text('Sample', {
  left: 100,
  top: 100,
  fontSize: 80,
  fill: 'navy'
});

canvas.add(text);
document
  .getElementById('btn')
  .addEventListener('click', function (e) {
    canvas.getActiveObject().set("fontSize", "30");
    canvas.renderAll();   
  });

答案 1 :(得分:3)

首先,我能够通过改变

来完成这项工作
obj.set('fontSize',40);

obj.setFontSize(40);

其次,我认为对象的fontSize不是在调整大小时更改的,而是scaleXscaleY。希望这会有所帮助。