現在、多数の要素を含むSVG<pattern>
要素を使用する<line>
と、一種のテーパーエッジが生じます。これを回避するためにさまざまなCSSスタイルを試しましたが、実際には何も機能しませんでした。ステッチがマスクされた円のコードは次のとおりです。
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="500" width="500">
<defs>
<pattern id="stripe" patternUnits="userSpaceOnUse" width="20" height="20">
<line x1="0" y1="0" x2="20" y2="20" />
</pattern>
<mask id="mask">
<rect height="500" width="500" style="fill: url(#stripe)" />
</mask>
<style>
#stripe line {
fill: white;
stroke: white;
stroke-linecap: square;
stroke-linejoin: miter;
stroke-width: 10px;
}
g {
mask: url(#mask);
stroke-linecap: square;
stroke-linejoin: miter;
}
circle {
fill: green;
}
</style>
</defs>
<g>
<circle cx="250" cy="250" r="200" style="fill: rgba(0, 255, 0, 0.2);" />
</g>
</svg>
そして、これがどのように見えるかのフィドルです。との組み合わせはありませstoke-linecap
んstroke-linejoin
。<path>
代わりに、マスク全体にフルを描画する必要がありますか?
助けてくれてありがとう。