0
我有一個完全垂直的<path>
,應用了較厚的描邊寬度。我想給它添加一個遮罩(即mask="url(#...)"
),但是當我這樣做時,(我該如何放置它?)當計算可見區域時,筆劃被忽略。這裏有一個代碼片段:SVG蒙板是在遮罩元素上剪裁描邊
function toggleMask() {
var path = $('path');
if (path.attr('mask')) {
path.removeAttr('mask');
} else {
path.attr('mask',"url(#test)");
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div><button onclick="toggleMask()">toggle mask</button></div>
<svg width="400" height="400">
<defs>
<mask id="test">
<rect
width="100%"
height="100%"
x="0"
y="0"
fill="white">
</rect>
<circle r="20" cx="35" cy="80" fill="black"></circle>
</mask>
</defs>
<path
d="M30,30L30,300"
stroke-width="40"
stroke="black"></path>
<path
d="M50,30L100,300"
stroke-width="40"
stroke="black"></path>
</svg>
我預計應用於口罩,看起來像這樣:
提前感謝!
這是按設計工作。在SVG中,當應用蒙版(並計算邊界框,過濾器區域等)時,會忽略描邊。 –