gpt4 book ai didi

javascript - SVG 自定义圆形

转载 作者:行者123 更新时间:2023-11-28 16:33:27 29 4
gpt4 key购买 nike

我没有使用 SVG 的经验,而且我在创建自定义形状时遇到了问题。我想创建以下形状。

切片和所有物线的份额应该动态生成。所有的切片都是一样的。例如:如果我们有 4 个切片,每个切片将具有 25% 的值(value),如果有 10 个切片,我们将有 10 个切片具有 10%。

image

<!DOCTYPE html>
<html>

<body>

<svg width="800" height="800">
<circle cx="400" cy="400" r="300" stroke="black" stroke-width="2" fill="red" />
<circle cx="400" cy="400" r="80" stroke="black" stroke-width="2" fill="blue" />
<path d="M 400 400 H 480 320" stroke="black" stroke-width="2" fill="none" />Sorry, your browser does not support inline SVG.
</svg>

</body>

</html>

请帮帮我。

最佳答案

此 SVG 需要多个元素。

  • 中心圈两个
  • 外圈四个

首先,外圈的 4 个部分需要 4 个区域。这可以像这样完成:

<svg width="50%" viewbox="0 0 100 100">
<path d="M50,50 L0,50 A50,50 0 0,1 50,0" fill="red"></path>
<path d="M50,50 L100,50 A50,50 0 0,1 0,50" fill="blue"></path>
<path d="M50,50 L100,50 A50,50 0 0,1 50,100" fill="green"></path>
<path d="M50,50 L50,0 A50,50 0 0,1 100,50" fill="yellow"></path>
</svg>

对于内部区域,您将需要两个包含文本的段。

text {
fill: white;
font-size: 16px;
}
<svg width="50%" viewbo0x="0 0 100 100">
<path d="M0,50 A50,50 0 0,1 100,50z" fill="purple"></path>
<path d="M0,50 A-50,-50 0 1,0 100,50z" fill="green"></path>
<text x="18" y="40">Some text</text>
<text x="15" y="70">Bottom text</text>
</svg>

将它们连接在一起,嘿,很快,你应该有你的形状了。

text {
font-size: 2.5em;
fill: white;
}
<svg width="50%" viewbox="0 0 1000 1000">
<path d="M500,500 L0,500 A500,500 0 0,1 500,0" fill="red"></path>
<path d="M500,500 L1000,500 A500,500 0 0,1 0,500" fill="blue"></path>
<path d="M500,500 L1000,500 A500,500 0 0,1 500,1000" fill="green"></path>
<path d="M500,500 L500,0 A500,500 0 0,1 1000,500" fill="yellow"></path>
<path d="M350,500 A100,100 0 0,1 650,500z" fill="purple" x="45" y="45"></path>
<path d="M350,500 A-100,-100 0 1,0 650,500z" fill="pink"></path>
<text x="420" y="450">Some text</text>
<text x="410" y="550">Bottom text</text>
</svg>

关于javascript - SVG 自定义圆形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32695830/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com