对某人来说很有趣的问题。我正在尝试使用以下标记将 SVG 过滤器应用于页面中加载的图像:
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<style type="text/css">
#exampleImage {
filter: url("#grayscale");
}
</style>
</head>
<body>
<img id="exampleImage" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Bitmap_VS_SVG.svg/300px-Bitmap_VS_SVG.svg.png" />
<svg xmlns="http://www.w3.org/2000/svg">
<filter id="grayscale">
<feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
</filter>
</svg>
</body>
</html>
这在 Firefox 中可以正常工作 - 图像显示为灰度 - 但在 webkit(Mac 上的 Chrome 或 Safari)中不行。从我一直在阅读的内容来看,这应该有效。你能看出我遗漏了什么吗?
谢谢!
- 本