gpt4 book ai didi

html - 如何拉伸(stretch) SVG 形状的图像以填充其边界?

转载 作者:技术小花猫 更新时间:2023-10-29 12:40:21 27 4
gpt4 key购买 nike

我有一个用图像填充的 SVG 形状(平行四边形)。演示可以是seen here .

SVG 对象是:

<svg style="overflow:visible; margin-left:111px; margin-top:22px; " height="86" width="281">
<defs>
<pattern id="blip1" patternUnits="userSpaceOnUse" width="279" height="83">
<image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://i.imgur.com/uTDpE6J.jpg" width="279" height="83"></image>
</pattern>
</defs>
<polygon points="49,2 280,2 232,84 1,84" x="1" y="1" style="stroke-linejoin:round; fill:url(#blip1); stroke-width:2; stroke:hsl(212,45%,26%); "></polygon>
</svg>

但是图像并没有拉伸(stretch)到形状的边界,而是位于形状的中间。

我想要实现的是:

Desired result

但我得到的是:

Actual result

谁能给我一个适用于所有形状(即五边形、六边形、星形等)的解决方案?顺便说一句,它已经可以很好地处理省略号了。

最佳答案

preserverAspectRatio=none 添加到图像对象 并将宽度/高度设置为 100% 似乎可以满足您的要求。 Updated fiddle

<svg style="overflow:visible; margin-left:111px; margin-top:22px; " height="86" width="281">

<defs>
<pattern id="blip1" patternUnits="userSpaceOnUse" width="279" height="83">
<image preserveAspectRatio="none" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://i.imgur.com/uTDpE6J.jpg" width="279" height="83"></image>
</pattern>
</defs>

<polygon points="49,2 280,2 232,84 1,84" x="1" y="1" style="stroke-linejoin:round; fill:url(#blip1); stroke-width:2; stroke:hsl(212,45%,26%); ">
</polygon>

</svg>

关于html - 如何拉伸(stretch) SVG 形状的图像以填充其边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660085/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com