【发布时间】:2017-12-05 18:36:46
【问题描述】:
我在我的项目中使用 Fabric JS,我想拆分多行 IText,如下图所示:
这是我的代码:
var canvas = new fabric.Canvas("canvas", { preserveObjectStacking: true
});
var text = new fabric.IText("Hello!\nSplit Me\nPlease....", {
fontSize: 20,
top: 80,
left: 100,
fontFamily: "Arial"
});
canvas.add(text);
canvas.renderAll();
$('#split').click(function() {
var object = canvas.getActiveObject();
if(!object) return false;
if ((object.get('type') == 'i-text') && (object.getText().indexOf( "\n" ) > 0)) {
var splitText = object.getText().split("\n");
var group = new fabric.Group();
var cloneObj = [];
for(var i=0;i<=splitText.length-1;i++) {
cloneObj[i] = fabric.util.object.clone(object);
cloneObj[i].setText(splitText[i]);
canvas.add(group);
canvas.add(cloneObj[i]);
group.addWithUpdate(cloneObj[i]);
canvas.renderAll();
}
object.remove();
canvas.setActiveGroup(group);
group.setCoords();
canvas.renderAll();
}
});
这里是 jsfiddle:https://jsfiddle.net/m74ruzwq/2/
任何帮助将不胜感激。提前致谢。
【问题讨论】:
标签: javascript jquery html canvas fabricjs