SVG:Drop-Shadow过滤器在移动Safari上像素化SVG

时间:2013-02-02 17:19:38

标签: svg safari mobile-safari vector-graphics svg-filters

我在使用img标记嵌入的SVG文件中使用投影滤镜。在我的MacBook上,它在Safari中看起来很好。然而,在移动Safari中,图形变得非常像素化并且失去了它的锐度。当未应用过滤器时,SVG呈现正常。除了传递过滤器之外,还有什么方法可以解决这个问题吗?

4 个答案:

答案 0 :(得分:1)

您应该尝试将过滤器的"filterRes"属性明确设置为与视网膜显示匹配的值。

答案 1 :(得分:0)

这个问题在2018年仍然很重要,我已经找到了解决方案。您可以复制要为其提供过滤器的元素,将其放置在实际元素的下方,并仅在其上保留过滤器,而在该元素上不使用任何过滤器。这样,Safari和其他浏览器将在调整大小时仅使用阴影将元素栅格化,但是将被看起来清晰的矢量元素隐藏。您可以查看示例并阅读更多here

答案 2 :(得分:0)

不幸的是,我尝试了所有建议的解决方法,但都没有成功,唯一对我有用的是将svg内联,而不是作为img标签。

令人惊讶的是,这个问题似乎已经存在了很长时间!

答案 3 :(得分:0)

现在是 2021 年,它仍然具有相关性。我找到了一个对我有用的解决方法:您可以放大 svg,然后使用 css-transform 将其缩小:

.section_logo img {
    height: 500%;
    transform-origin: top left;
    transform: scale(0.2);
}