簡體   English   中英

用背景圖像填充 SVG 路徑元素

[英]Fill SVG path element with a background-image

是否可以為 SVG <path>元素設置background-image

例如,如果我設置元素class="wall" ,CSS 樣式.wall {fill: red;}有效,但.wall{background-image: url(wall.jpg)}無效, .wall{background-image: url(wall.jpg)} .wall {background-color: red;}

您可以通過將背景變成圖案來做到這一點:

<defs>
  <pattern id="img1" patternUnits="userSpaceOnUse" width="100" height="100">
    <image href="wall.jpg" x="0" y="0" width="100" height="100" />
  </pattern>
</defs>

根據您的圖像調整寬度和高度,然后從路徑中引用它,如下所示:

<path d="M5,50
         l0,100 l100,0 l0,-100 l-100,0
         M215,100
         a50,50 0 1 1 -100,0 50,50 0 1 1 100,0
         M265,50
         l50,100 l-100,0 l50,-100
         z"
  fill="url(#img1)" />

工作示例

“ robertc”的答案是svg-這與d3.js路徑代碼所使用的類似。 通過應用以下內容,我設法為d3.js路徑創建了動態定義。

我設法通過將其定義如下來使其工作

chart.append("defs")
     .append('pattern')
     .attr('id', 'locked2')
     .attr('patternUnits', 'userSpaceOnUse')
     .attr('width', 4)
     .attr('height', 4)
     .append("image")
     .attr("xlink:href", "locked.png")
     .attr('width', 4)
     .attr('height', 4);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM