gpt4 book ai didi

image - 如何使 SVG "fill"以类似于 CSS "background-size: cover"的方式起作用

转载 作者:行者123 更新时间:2023-12-04 02:36:51 28 4
gpt4 key购买 nike

我正在尝试创建一个 SVG,它用特定路径屏蔽图像,但是,当我尝试使用图案填充该区域时,该图像并未覆盖整个区域。

预期


实际


在我的 defs我正在定义模式:

<pattern id="image" patternUnits="userSpaceOnUse" width="83.38" height="100" x="0" y="0">
<image xlink:href="http://goo.gl/kVVuy1" x="0" y="0" width="100%" height="100%" />
</pattern>

和形状:
<path id="shape" d="M80.4,0c0,33.3,0,66.7,0,100c-26.8,0-53.6,0-80.4,0c0,0,0-0.1,0-0.1 c3.3-12.3,6.5-24.6,9.8-37c0.9-21,1.9-41.9,2.8-62.9C35.2,0,57.8,0,80.4,0z" />

然后我包括形状:
<use xlink:href="#shape" fill="url(#image)"></use>

我使用的图像是动态 Assets (用户上传的),但是如果需要,我可以获取尺寸。

任何可以解决此问题的解决方案都会有所帮助,我尝试使用 image戴着面具,但没有运气。只要蓝色背景图案显示通过而没有红色显示,那么我的问题就应该解决。

这是工作示例: http://codepen.io/Godwin/pen/hazqA

最佳答案

要解决此问题,请添加适当的 preserveAspectRatio归因于 <image>在您的 <pattern>告诉它您想要缩放和切片图像。

<pattern id="image" patternUnits="userSpaceOnUse" width="83.38" height="100" x="0" y="0">
<image xlink:href="http://goo.gl/kVVuy1"
x="0" y="0" width="100%" height="100%"
preserveAspectRatio="xMinYMin slice"/>
</pattern>

Demo here

关于image - 如何使 SVG "fill"以类似于 CSS "background-size: cover"的方式起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23227195/

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