2017-10-11 11 views
0

Electronプロジェクトの既存のSVGに外部SVGをロードして追加しようとしています。 d3.xmlの方法は私のために働いていないので、私はd3.symbolsを見ています。パスデータを(fs.readFileSyncコールから)提供すれば私自身のシンボルを作成できると期待しています。この文脈では "コンテキスト"とは何か: "symbol.context([context])"

ドキュメントを見ると、「コンテキスト」とは何かを理解できません。それはg(グループ)のような要素ですか?それはトップレベルのSVGですか?

ここでは少し創設しています。

symbol.context([コンテキスト])

コンテキストが指定されている場合、コンテキストを設定し、このシンボルを ジェネレータを返します。 contextが指定されていない場合は、現在のコンテキスト をデフォルト値nullに戻します。コンテキストがnullでない場合、生成された シンボルは、一連のパスメソッド呼び出しとしてこのコンテキストにレンダリングされます。 それ以外の場合、生成されたシンボルを表すパスデータ文字列は です。

答えて

1

d3バージョン4の新機能の1つは、HTML5キャンバス要素に直接描画する機能でした。以前のバージョンは主に、SVGを使用した図面のみを扱っていました。 .contextコールではHTML5キャンバスコンテキストが必要です。その後、そのキャンバス上で後続の描画アクティビティが作成されます。 null(デフォルトでは)の場合、d3は、あなたがsvgに描画しているとみなし、後で.attr("d", pathDataString)を呼び出すためのパスデータを返します。バージョン4 CHANGES documentから

形状はもはやSVGに限定されています。キャンバスにレンダリングできるようになりました!シェイプジェネレータはオプションのコンテキストをサポートするようになりました。CanvasRenderingContext2Dを使用すると、塗りつぶしまたはストロークするキャンバスパスとしてシェイプをレンダリングできます。たとえば、キャンバスの円グラフでは、アークジェネレータを使用することがあります。

+0

Ah、ok。とった。ありがとう! –

関連する問題