html - 将背景图像 (.png) 添加到 SVG 圆形

标签 html css svg

这可能吗?以下是我尝试过的,但它完全用黑色填充了圆圈。

<svg id='vizMenu' width="700" height="660">
    <defs>
        <filter id="dropshadow" height="130%">
            <feGaussianBlur in="SourceAlpha" stdDeviation="2"/> 
            <feOffset dx="0.5" dy="0.8" result="offsetblur"/> 
            <feMerge>
                <feMergeNode/>
                <feMergeNode in="SourceGraphic"/>
            </feMerge>
        </filter>
    </defs>
    <circle id='top' filter="url(#dropshadow)" cx="180" cy="120" r="80" stroke="#2E2E2E" stroke-width="2" fill="url('images/word-cloud.png')"/>
    <circle id='bottom' filter="url(#dropshadow)" cx="500" cy="300" r="80" stroke="#2E2E2E" stroke-width="2" fill="url('images/word-cloud.png')"/>
    <circle id='extra' filter="url(#dropshadow)" cx="180" cy="560" r="80" stroke="#2E2E2E" stroke-width="2" fill="#ffffff"/>
</svg>

最佳答案

svg 元素的图像填充是通过 SVG Patterns 实现的...

<svg width="700" height="660">
  <defs>
    <pattern id="image" x="0" y="0" patternUnits="userSpaceOnUse" height="1" width="1">
      <image x="0" y="0" xlink:href="url.png"></image>
    </pattern>
  </defs>
  <circle id='top' cx="180" cy="120" r="80" fill="url(#image)"/>
</svg>

关于html - 将背景图像 (.png) 添加到 SVG 圆形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11496734/

相关文章:

javascript - 如何判断<img>是否有href属性?

javascript - 仅使用 css 将按钮跨到对面

javascript - HTML5 : How to get currentTime and duration of Audio Tag in milliseconds

javascript - 为什么脚本类型前面有 "text/"?

html - 如何将元素垂直对齐到 Bootstrap 列的底部?

javascript - SVG 图像 xlink :href is not working with knockout

javascript - 如何在 React Native 中将 onPress 事件映射到单个 svg 对象?

php - jQuery 自动填充表单无法工作

javascript - 如何在响应模式下单击按钮时使 "navbar-fixed-bottom"向上滑动? ( Bootstrap )

java - 在 Canvas 上显示 svg