SVG剪裁 "随心所欲"

问题描述 投票:0回答:1

在Windows API和PostScript语言中,你可以在任何一点上设置剪裁。

一个虚幻但简单的例子。

a) 我画了一个圆

b)然后我设置了一个剪切矩形。

c) 然后我再画一个圆。

d)然后我删除剪裁。

我找不到用SVG做这个的方法。我可能遗漏了什么,而且我找不到一个可以帮助我的例子。

我想在文件中使用的所有剪切矩形窗口都必须在一开始就设置好吗?

我试过这样做。

    <svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    version="1.1" width="2678.000" height="1600.000" preserveAspectRatio="xMidYMid meet"
    viewBox="0.000000 0.000000 2678.000000 1600.000000">
    <g clip-path="EEE">
        <clipPath id="EEE"> <rect x="40" y="40" width="1000" height="1000"/> </clipPath>
        <polyline style="stroke:#FF5F42;stroke-width:4;fill:none;"  points="0,0  2000,1500  "/>
        <polyline style="stroke:#FF5F42;stroke-width:4;fill:none;"  points="0,0  500,500  "/>
        <polyline style="stroke:#00FF00;stroke-width:4;fill:none;"  points="0,0  250,250  "/>
        <text x="284" y="1365" style="text-anchor:start;dominant-baseline:hanging;font-size:36.0px;"> Flux 5300.00  lm</text>
    </g>
</svg>

...但是我还是能看到应该被剪掉的文字。它在1365处,而剪切矩形在1040处结束。

svg clipping clip-path
1个回答
1
投票

Ooooops。我想我已经到了那里。

<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    version="1.1" width="2678.000" height="1600.000" preserveAspectRatio="xMidYMid meet"
    viewBox="0.000000 0.000000 2678.000000 1600.000000">
    <defs>
    </defs>
    <g clip-path="url(#EEE)">
        <clipPath id="EEE">
            <rect x="0" y="140" width="1000" height="800"/> 
        </clipPath>
        <polyline style="stroke:#FF5F42;stroke-width:4;fill:none;"  points="0,0  2000,1500  "/>
        <polyline style="stroke:#FF5F42;stroke-width:4;fill:none;"  points="0,0  500,500  "/>
        <polyline style="stroke:#00FF00;stroke-width:4;fill:none;"  points="0,0  150,1250  "/>
        <text x="284" y="1365" style="text-anchor:start;dominant-baseline:hanging;font-size:36.0px;"> Flux 5300.00  lm</text>
    </g>
</svg>

我的第一个错误是认为我必须在使用它之前定义一些东西。看看我在上面定义EEE之前是怎么使用的......

我的第二个错误是不明白如何使用 "url(...) "啊。

感谢Robert Logson在正确的方向上对我的指点。

© www.soinside.com 2019 - 2024. All rights reserved.