1
要素でフィルタを使用すると、セクションから参照される図形が異なるように見えます(クリップされます)。なぜSVG feColorMatrix + <use xlink:href = "#" />がクリップされたパスになりますか?
- 白い星が( "スパイク" のコーナー)が正しく表示され
- しかし、(フィルタリング)星が妙に
コード・スニペットクリップされ茶色:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
<filter id="colorScheme">
<feColorMatrix in="SourceGraphic" type="matrix" color-interpolation-filters="sRGB" values="0.5 0.0 0.0 0.0 0.0 0.0 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0"/>
</filter>
<defs>
<g id="shape_star">
<path d="M 50.000001,16.850071 60.828477,38.790929 85.041657,42.309326 67.520845,59.387917 71.656934,83.503263 50,72.117556 28.343064,83.503262 32.479155,59.387917 14.958344,42.309324 39.171522,38.790929 Z"/>
</g>
<g id="img_star_active">
<use xlink:href="#shape_star" style="stroke: #FFFFFF; stroke-width: 10; fill: #FFFFFF;"/>
</g>
<g id="img_star_inactive">
<use xlink:href="#shape_star" style="stroke: #FFFFFF; stroke-width: 10; fill: none; "/>
</g>
</defs>
<use xlink:href="#img_star_active" filter="url(#colorScheme)"/>
<use xlink:href="#img_star_inactive" transform="translate(100,0)" filter="url(#colorScheme)"/>
<use xlink:href="#img_star_active" transform="translate(0,100)" />
<use xlink:href="#img_star_inactive" transform="translate(100,100)"/>
</svg>
は、例を参照してください。 at https://jsfiddle.net/kx2zjnec/3/
ありがとう!それは魅力のように機能します。 (幅と高さのカンマを削除する必要はありません) – ultimate
どこから来たのですか? – ccprog
これで完璧です:) – ultimate