2013-08-28 36 views
3

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

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

将字体大小更改为 –

+0

obj.set(fontSize,40)未被执行,程序在此之前停止 –

回答

6

这里是一个工作的代码,

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

首先,我能够通过改变

obj.set('fontSize',40); 

,使这项工作到

obj.setFontSize(40); 

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

相关问题