Sie können
var text = oldItext.text;
var textobj = oldItext.toObject();
delete textobj.text;
delete textobj.type;
var clonedtextobj = JSON.parse(JSON.stringify(textobj));
var textbox = new fabric.Textbox(text, clonedtextobj);
eine Notiz Verwendung von json leicht tun:
normalen toObject Verfahren in Fabricjs der tiefen Klonen nicht kümmern. Das neue Textfeld, das Sie erstellen, würde das gleiche Stilobjekt mit dem alten ITEXT teilen. Das ist nicht schlecht, bis necessarly Sie erstellen 2 Kopien von 1.
wenn Sie nicht Stile verwenden, ein schneller Weg ist:
var text = oldItext.text;
var textobj = oldItext.toObject();
delete textobj.type;
var textbox = new fabric.Textbox(text, textobj);
, die sehr viel großer Dank ist. Um von TextBox zu IText mit dem Top-Code zurück zu konvertieren (da ich Styles und Fonts benötige) würde ich denselben Code verwenden, aber IText- und TextBox-Referenzen austauschen? Z.B. –
Zum Beispiel dieser Code: 'var text = oldTextBox.text; var textobj = altTextBox.toObject(); löschen textobj.text; löschen textobj.type; var clonedtextobj = JSON.parse (JSON.stringify (textobj)); var newitext = new fabric.IText (Text, clontedtextobj); ' –
Sowohl ITEXT als auch Textbox verwenden Stile. Ja, Sie können den gleichen Code verwenden, tauschen Sie einfach Referenzen aus – AndreaBogazzi