【发布时间】:2015-04-29 16:22:27
【问题描述】:
我想做一些非常类似于Fill SVG path element with a background-image 的事情,除了那里提供的解决方案将平铺图像以填充整个背景区域。我不想要那个。如果图像没有填满整个高度或整个宽度,那么我只是希望它在路径形状中居中,就这样。如果我尝试通过更改高度/宽度属性来限制行为,那么渲染只会缩放图像,直到它填充至少一个尺寸。
我猜这种行为有点道理,因为它使用了模式。我可以看到我想要的并不是真正的“模式”本身。我只想按原样在我的形状中间拍一个图像,而不是用它做一个图案。但是,只要图像的大小超出这些边界,我确实希望由我的 SVG 路径定义的形状边界切断图像的渲染。除了对填充属性使用模式之外,我不知道还有其他方法可以实现这种行为,就像在该问题的答案中所做的那样。
在类似的问题中:Add a background image (.png) to a SVG circle shape,最底部的用户似乎表示他使用过滤器而不是模式来实现我想要实现的目标。但是,当我尝试这样做时,渲染过程中不会考虑实际形状。渲染图像时不考虑形状边界,这似乎毫无用处。
在 SVG 中是否有任何方法可以获得类似于图案的背景图像行为,但实际上不需要将图像平铺成图案?
【问题讨论】:
标签: html image svg background-image