6

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

canvas.set({fontSize,40});

这不行吗?任何其他方法。我已经创建了小提琴,请 检查

   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();
});
4

2 回答 2

10

这是一个工作代码,

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();   
  });
于 2013-08-28T05:48:50.130 回答
3

首先,我能够通过改变来完成这项工作

obj.set('fontSize',40);

obj.setFontSize(40);

其次,我认为调整对象大小时改变的不是对象的 fontSize ,而是它的scaleXand scaleY。希望这可以帮助。

于 2013-08-28T06:03:51.873 回答