2016-04-16 32 views
0

Fabric JS ITextをTextBox(1.6.0の新機能)とその逆に簡単に変換する方法はありますか?その間にすべてのプロパティを読み書きする必要はありません。Fabric JS ITextとTextboxを簡単に変換できますか?

ありがとうございました。 Fabricjsで

通常toObject方法が深いクローニングの世話をしていません:

答えて

2

あなたは簡単にJSONの使用について

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); 

注記を行うことができます。新しいテキストボックスを作成すると、同じスタイルオブジェクトが古いitextと共有されます。それはあなたがスタイルを使用していない場合は、1

から2つのコピーを作成悪いそれまではをnecessarlyされていない、より高速な方法は次のとおりです。とても素晴らしいおかげです

var text = oldItext.text; 
    var textobj = oldItext.toObject(); 
    delete textobj.type; 
    var textbox = new fabric.Textbox(text, textobj); 
+0

。先頭のコード(スタイルとフォントが必要なので)を使用してTextBoxからITextに変換するには、同じコードを使用しますが、ITextとTextBoxの参照を入れ替えますか?例えば。 –

+0

など。このコードは 'var text = oldTextBox.text; var textobj = oldTextBox.toObject(); delete textobj.text; delete textobj.type; var clonedtextobj = JSON.parse(JSON.stringify(textobj)); var newitext =新しいファブリック.IText(text、clonedtextobj); ' –

+0

itextとtextboxの両方でスタイルを使用します。はい、私は同じコードを使用することができます、単に参照を交換する – AndreaBogazzi

関連する問題