我非常希望能够做类似于用背景图填充SVG路径元素的事情,但那里提供的解决方案会将图像平铺以填充整个背景区域。我不想要那样。如果图像没有填满整个高度或宽度,则我只想让它居中在路径形状内,就这样。如果我尝试通过更改高度/宽度属性来限制行为,则渲染会缩放图像,直到至少填充其中一个维度。
我想这种行为在某种程度上是有道理的,因为它使用了模式。我可以看出,我想要的实际上并不是一个“模式”。我只是想像现在这样把一张图片放在我的形状中间,而不是把它变成一个模式。然而,我确实希望由我的SVG路径定义形状边界来切断图像的渲染,无论图像的大小是否超出这些边界。除了在回答该问题时使用fill属性的模式外,我不知道还有什么其他方法可以获得这种行为。
在类似问题如何将.png背景图片添加到SVG圆形图形中中,最底部的用户似乎表明他使用了滤镜而不是图案来实现我想要实现的效果。然而,当我尝试时,在渲染过程中并没有考虑实际的形状。图像被呈现出来,而不考虑形状边界,这似乎几乎毫无用处。在SVG中是否有一种方式可以获得类似于图案的背景图像效果,但实际上不将图像平铺成图案?
我想这种行为在某种程度上是有道理的,因为它使用了模式。我可以看出,我想要的实际上并不是一个“模式”。我只是想像现在这样把一张图片放在我的形状中间,而不是把它变成一个模式。然而,我确实希望由我的SVG路径定义形状边界来切断图像的渲染,无论图像的大小是否超出这些边界。除了在回答该问题时使用fill属性的模式外,我不知道还有什么其他方法可以获得这种行为。
在类似问题如何将.png背景图片添加到SVG圆形图形中中,最底部的用户似乎表明他使用了滤镜而不是图案来实现我想要实现的效果。然而,当我尝试时,在渲染过程中并没有考虑实际的形状。图像被呈现出来,而不考虑形状边界,这似乎几乎毫无用处。在SVG中是否有一种方式可以获得类似于图案的背景图像效果,但实际上不将图像平铺成图案?
div { background: url(myImage.jpg); background-size: cover; }
的东西。 - Paul LeBeau