ホームページ >ウェブフロントエンド >jsチュートリアル >Fabric.js:Advanced
この記事は、Advanced Fabric.js機能を掘り下げています。
重要な概念:
loadFromJSON
loadFromSVG
プログラマティックグループの作成:
(結果については図2を参照)。 グループ内の個々のオブジェクトには、
メソッドを使用してアクセスおよび変更されます。
図2
グループオブジェクトの変更:
<code class="language-javascript">var text = new fabric.Text('hello world', { fontSize: 30 }); var circle = new fabric.Circle({ radius: 100, fill: '#eef', scaleY: 0.5 }); var group = new fabric.Group([text, circle], { left: 150, top: 100, angle: -10 }); canvas.add(group);</code>
item
(図3を参照)。グループ内のオブジェクトは、
座標が指定されていない限り、グループの中心に対して配置されます。
図3
水平に整列したグループの作成:
<code class="language-javascript">group.item(0).set({ text: 'trololo', fill: 'white' }); group.item(1).setFill('red');</code>
left
(図4を参照)。 画像を含むグループの場合、グループ化する前に画像が完全にロードされていることを確認してください。
top
図4
グループの方法には、
、
、<code class="language-javascript">var circle1 = new fabric.Circle({ radius: 50, fill: 'red', left: 0 }); var circle2 = new fabric.Circle({ radius: 50, fill: 'green', left: 100 }); var circle3 = new fabric.Circle({ radius: 50, fill: 'blue', left: 200 }); var group = new fabric.Group([circle1, circle2, circle3], { left: 200, top: 100 }); canvas.add(group);</code>、
、
、およびが含まれます。 グループの寸法を更新しながらオブジェクトを追加します。 既存のキャンバスオブジェクトのクローニングは、新しいグループに追加する前に必要です。
シリアル化:
fabric.jsは、シリアル化にtoObject
およびtoJSON
を使用します。 toJSON
暗黙のうちにtoObject
。
例:空のキャンバスのシリアル化:
<code class="language-javascript">var text = new fabric.Text('hello world', { fontSize: 30 }); var circle = new fabric.Circle({ radius: 100, fill: '#eef', scaleY: 0.5 }); var group = new fabric.Group([text, circle], { left: 150, top: 100, angle: -10 }); canvas.add(group);</code>
オブジェクトの追加は、JSON表現を更新します。 toObject
非弦オブジェクト表現を返します。 オブジェクトのシリアル化をカスタマイズすることは、toObject
メソッドをオーバーライドまたは拡張することによって実現されます。
toObject
拡張
<code class="language-javascript">group.item(0).set({ text: 'trololo', fill: 'white' }); group.item(1).setFill('red');</code>SVGシリアル化は、個々のオブジェクトのメソッドに委任され、
メソッドを使用します。 これにより、SVG互換レンダラーにエクスポートできます
toSVG
toSVG
脱介入:
JSONのキャンバス状態をロードしますおよび
。 SVGデータからのロード。外部SVGファイルを参照することにより、大きなパスデータを効率的に処理します。
loadFromJSON
loadFromDatalessJSON
サブクラス:loadSVGFromURL
loadSVGFromString
loadFromDatalessJSON
fabric.jsは、サブクラス化に
プロパティはコンストラクターとして機能します。 親クラスのメソッドを呼び出します。
例:カスタムクラスの作成:
fabric.util.createClass
initialize
(callSuper
の例については、図8および9を参照)。 カスタムプロパティは、
。
で処理する必要があります<code class="language-javascript">var circle1 = new fabric.Circle({ radius: 50, fill: 'red', left: 0 }); var circle2 = new fabric.Circle({ radius: 50, fill: 'green', left: 100 }); var circle3 = new fabric.Circle({ radius: 50, fill: 'blue', left: 200 }); var group = new fabric.Group([circle1, circle2, circle3], { left: 200, top: 100 }); canvas.add(group);</code>
よくある質問(FAQS):LabeledRect
(提供されたFAQはすでに十分に構成されており、包括的であるため、ここでは変更は必要ありません。)toObject
initialize
画像は要求に応じて含まれており、テキスト内の元の形式と位置を維持しています。
以上がFabric.js:Advancedの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。