javascript - SVG 路径和图像

标签 javascript html css svg

正如标题所说,我正在尝试将图像添加到 SVG 路径。

我制作了以下 fiddle ,
JSFiddle

我想把图片放在路径中,像这样,
(代表图像的绿点) so image

这将如何完成?我尝试将图像添加到路径中,但显然它们没有显示出来。

代码:

<svg width="175" height="175">
  <g transform="translate(87.5,87.5)">
    <path fill="#1f77b4" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#aec7e8" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#ff7f0e" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#ffbb78" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#2ca02c" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#98df8a" d="M5.357829746269671e-15,-87.5A87.5,87.5,0,0,1,83.21744517582593,-27.038987007807897L61.3431453010374,-19.93159613718411A64.5,64.5,0,0,0,3.949485927250214e-15,-64.5Z"></path>
    <path fill="#d62728" d="M83.21744517582593,-27.038987007807897A87.5,87.5,0,0,1,51.4312095755914,70.7889870078079L37.91214877286452,52.18159613718411A64.5,64.5,0,0,0,61.3431453010374,-19.93159613718411Z"></path>
    <path fill="#ff9896" d="M51.4312095755914,70.7889870078079A87.5,87.5,0,0,1,-51.43120957559139,70.7889870078079L-37.91214877286451,52.18159613718411A64.5,64.5,0,0,0,37.91214877286452,52.18159613718411Z"></path>
    <path fill="#9467bd" d="M-51.43120957559139,70.7889870078079A87.5,87.5,0,0,1,-83.21744517582594,-27.038987007807886L-61.34314530103741,-19.9315961371841A64.5,64.5,0,0,0,-37.91214877286451,52.18159613718411Z"></path>
    <path fill="#c5b0d5" d="M-83.21744517582594,-27.038987007807886A87.5,87.5,0,0,1,-1.607348923880901e-14,-87.5L-1.1848457781750641e-14,-64.5A64.5,64.5,0,0,0,-61.34314530103741,-19.9315961371841Z"></path>
  </g>
</svg>

最佳答案

按照图片,你需要添加5个圆圈。

每个圆相对于另一个旋转相同的 Angular - 360/5 = 72

  • 创建第一个圈子:

<defs> <circle id="greenCircle" cx="13" cy="98" r="10" fill="#B6FF00" /> </defs>

  • 使用命令<use>克隆圆并旋转它 transform =" rotate (deg x y) "到相对于第一个圆的所需 Angular 。

 
 <svg width="175" height="175" > 
 <defs>
 <circle id="greenCircle" cx="13" cy="98"  r="10" fill="#B6FF00" /> 
 </defs>
  <g transform="translate(87.5,87.5)">
    <path fill="#1f77b4" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#aec7e8" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#ff7f0e" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#ffbb78" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#2ca02c" d="M5.357829746269671e-15,-87.5L3.949485927250214e-15,-64.5Z"></path>
    <path fill="#98df8a" d="M5.357829746269671e-15,-87.5A87.5,87.5,0,0,1,83.21744517582593,-27.038987007807897L61.3431453010374,-19.93159613718411A64.5,64.5,0,0,0,3.949485927250214e-15,-64.5Z"></path>
    <path fill="#d62728" d="M83.21744517582593,-27.038987007807897A87.5,87.5,0,0,1,51.4312095755914,70.7889870078079L37.91214877286452,52.18159613718411A64.5,64.5,0,0,0,61.3431453010374,-19.93159613718411Z"></path>
    <path fill="#ff9896" d="M51.4312095755914,70.7889870078079A87.5,87.5,0,0,1,-51.43120957559139,70.7889870078079L-37.91214877286451,52.18159613718411A64.5,64.5,0,0,0,37.91214877286452,52.18159613718411Z"></path>
    <path fill="#9467bd" d="M-51.43120957559139,70.7889870078079A87.5,87.5,0,0,1,-83.21744517582594,-27.038987007807886L-61.34314530103741,-19.9315961371841A64.5,64.5,0,0,0,-37.91214877286451,52.18159613718411Z"></path>
    <path fill="#c5b0d5" d="M-83.21744517582594,-27.038987007807886A87.5,87.5,0,0,1,-1.607348923880901e-14,-87.5L-1.1848457781750641e-14,-64.5A64.5,64.5,0,0,0,-61.34314530103741,-19.9315961371841Z"></path>
  </g> 
  
<use xlink:href="#greenCircle"  transform="rotate(-10 87.5 87.5)" /> 
<use xlink:href="#greenCircle"  transform="rotate(62 87.5 87.5)" /> 
<use xlink:href="#greenCircle"  transform="rotate(134 87.5 87.5)" /> 
<use xlink:href="#greenCircle"  transform="rotate(206 87.5 87.5)" /> 
<use xlink:href="#greenCircle"  transform="rotate(278 87.5 87.5)" />  

</svg>   

关于javascript - SVG 路径和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47801803/

相关文章:

javascript - 使用 Jquery 创建新的表格行并将具有动态 id 的按钮添加到表格单元格

javascript - 如何确保所选文本不包含特定标签/类

html - 在 div 的边框上居中图像

html - 我尝试在我的网页上添加 Font Awesome 图标,但它不起作用

css - Chrome 中的边框宽度不一致

javascript - jQueryMobile 和 javascript 文件包含 : potential risks

javascript - :first-child 的 slider 问题

java - Vaadin 流自定义样式

html - 透明 png 不呈现为透明?

javascript - 如何保存使用 AngularJS 中的 ng-repeat 填充的多个选择框中的值?