これは私のコードであるSVGサークルシェイプに異なる背景画像(.png)を追加し、ストロークを設定するにはどうすればいいですか?
私はalreay Add a background image (.png) to a SVG circle shape
を参照してくださいが、私の場合、私は別の画像状にストロークとストローク幅を追加する必要があります。
<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>
<pattern id="image2" x="0" y="0" patternUnits="userSpaceOnUse" height="1" width="1">
<image x="0" y="0" xlink:href="url2.png"></image>
</pattern>
</defs>
<circle cx = "20%" cy = "20%" r = "20" fill = "url(#image)" stroke-width ="2px" stroke="red"/>
<circle cx = "40%" cy = "20%" r = "20" fill = "url(#image2)" stroke-width ="2px" stroke="red"/>
</svg>
、これは動作しませんでした第2の円は、その塗りつぶしのための画像を持たない。
および
<svg width="700" height="660">
<filter id="this_image" x="0%" y="0%" width="100%" height="100%">
<feImage xlink:href="test_image.png"/>
</filter>
<circle filter="url(#this_image)" cx="180" cy="120" r="80" stroke-width ="2px" stroke="red"/>
</svg>
ストロークとストローク幅が無駄です
どうすればいいですか?代わりにUserSpaceOnUseでのpatternUnits
属性値にObjectBoundingBoxで使用と
あなたは何をしようとしていますか? 2番目の円は最初の円と全く同じ場所にあるので、最初の円を隠すことになります。私はあなたが「第二のサークルは何も埋めることができない」ということをあなたが何を意味するのか分かりません。 2番目の円にその塗りつぶしのイメージがないことを意味しますか? –
はい、2番目の円はその塗りつぶしの画像がありません。さらに異なる位置、最初のパターン作業 – CloudChing
画像要素には高さと幅がありません。それはSVG 2の新機能だから、現時点ではChromeだけがAFAIKをサポートしています。 –