我有一个简单的剪裁矩形,中间有文字。
<svg>
<defs>
<mask id="mytext">
<rect width='100%' height='100%' fill='white'/>
<text>Welcome</text>
</mask>
</defs>
<rect width='100%' height='100%' fill='blue' mask="url(#mytext)"/>
</svg>
然而,当从视网膜显示器观看时,文本边缘会变得像素化。如果我只使用文本而不屏蔽它就不会发生这种情况,但是一旦使用了蒙版,它就会破坏一切。
编辑:我的意思是 Retina Display,iOS 和 OSX 都是最新版本。所有浏览器。我相信这可能是像素密度问题。
有趣的是同时拥有
<text fill='url(#mypattern)'>Welcome</text>
文本被渲染得非常完美。问题仅在于应用了口罩。
这是一个 jsfiddle示例(请确保在启用了视网膜显示的设备上进行测试)。
这是一个屏幕截图,显示了 iPhone 上的差异(请注意下面文本的边缘以及它看起来的像素化程度)。