0

楕円を線で接続したい SVG イメージ (ノードの楕円を含むツリー マップ) を作成していますが、楕円のから線を開始したいと考えています。エッジがどこに落ちるかを計算し、線を正確に開始または終了することは非常に難しいため、楕円の中心から線を描画し、楕円を線に重ね合わせる方法を探しています。楕円の端からのみ線が始まるように見えます。SVG は要素の順序による z オーダーを実装しているため、最初に接続線を作成してから楕円を作成すると、それは機能しますが、...

... fill-opacity="0.15" で楕円を青または赤にしたいのですが、そうすると線が透けて見えてしまいます。もちろん、不透明度の低いものでカバーするものを完全に隠すことはできませんが、必要な効果を得る方法を理解するのに苦労しています. 有効な解決策が 1 つ見つかりました。必要な楕円ごとに、最初に同じサイズと位置の楕円を作成し、塗りつぶしを白く、不透明度を 1 に設定します。これにより、接続線が重なる部分が完全にマスクされます。次に、白い楕円の上に、実際にレンダリングしたい楕円を、青または赤の塗りつぶしと不透明度 0.15 で重ねます。それは私が望むように見えますが、それはぎこちなく感じます. 私が見落としている優雅な解決策はありますか?

4

2 に答える 2

0

クリッピングまたはマスキングを使用できます。

線全体を描画しますが、楕円以外のすべてにクリップします。

http://www.w3.org/TR/SVG/masking.html

于 2012-09-08T21:45:29.717 に答える
0

fill-opacity白い背景に対してレンダリングした後、色を取得する必要があります。

SVG のスクリーンショットを撮り、Photoshop などのグラフィック編集プログラムで開き、スポイト ツールを使用してレンダリングされた色を調べ、16 進数値をコピーします。次に、塗りつぶしの色として使用しますfill-opacity="1"

于 2012-09-08T21:47:05.340 に答える