这种组合可能吗?我有一个复古风格的 spritesheet,但是我想使用 SVG 来应用一些效果,例如阴影、轮廓和其他东西。不要质疑。
我知道 Canvas 是一种替代方案,但对于这个项目我更喜欢使用 SVG。然而,一个主要问题是:从 Sprite 表中获取单个 Sprite 。此外,我使用 1x1 像素 Sprite ,但通过隐藏 Canvas 放大 Sprite 表以使其变为 6x6,因此我还使用图像元素,而不是链接到页面外部的图像。
是否可以选择要在 SVG 中使用的图像区域? SVG 图像元素似乎没有提供此类选项。
最佳答案
您可以使用 clipping path与您的图像,精确地剪切到您想要的内容。例如:
http://phrogz.net/svg/image-spritesheet.svg
如果您是only targeting Firefox ,您可以改为使用: image-spritesheet-simple.svg
或者,您可以将 <image>
在新的<svg>
SVG 中的元素。内在<svg>
建立一个新视口(viewport),然后您可以使用 viewBox
仅显示图像中的矩形区域(更像普通的 Sprite 表)。
关于image - SVG 到 Sprite 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9414207/