【发布时间】:2017-12-28 00:16:16
【问题描述】:
缩放包含在彩色矩形上具有图像的 SVG 的父 DIV 会显示来自底层矩形的细线边缘。
<div style='transform: scale(0.79454)'>
<svg width="1280" height="720">
<rect fill="yellow" width="1280" height="720"/>
<image width="1280" height="720" transform='matrix(1.4,0,0,1.4,-200,-150)' xlink:href="https://storage.googleapis.com/firebase-beautifulslides.appspot.com/test/dawid-zawila-279995.jpg"/>
</svg>
</div>
在下面的屏幕截图中,图像下方有一个黄色框。两者大小相同,但您可以看到黄色框从边缘“渗出”一点(您可以查看完整图像或下面的小提琴以清楚地看到它)。
无论我是否转换图像节点都会发生此工件,并且当我尝试使用 viewBox 而不是父 div 缩放 SVG 时也会出现此工件。它在 Safari 中比在 Chrome 中要好一些,但在某些情况下仍然会发生。
这是一个小提琴https://jsfiddle.net/e17ea4j5/
有什么解决办法吗?
【问题讨论】:
-
当然有,去掉矩形。
-
谢谢。假设我不是白痴,这是一个简化的例子,只是为了说明问题。
-
除了保罗在他的回答中解释的有限方式之外,没有其他答案可以解决您的问题。
标签: image google-chrome svg