我有一些与Raphael图库一起显示的图像。我选择Raphael库的首要原因是因为它在许多浏览器中都受支持。我现在的问题是用黑白(灰度)表示图像。我已经设法在Chrome,FF,Safari,I.E 6.0+中以灰度显示它们。但由于某种原因,它不适用于I.E 9.0。彩色图像与Raphael.js灰度图像不工作在I.E. 9
我使用的代码如下:
<html>
<head>
<style type="text/css">
#mainImg {
filter: url(filter.#grayscale); /* Firefox 3.5+ */
filter: grayscale; /* IE5+ */
-webkit-filter: grayscale(1);
}
</style>
</head>
<body>
<svg height="0" xmlns="http://www.w3.org/2000/svg">
<filter id="grayscale">
<feColorMatrix 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>
<div id="pItem"></div>
<script type="text/javascript">
$(document).ready(function() {
var paper= Raphael(document.getElementById("pItem"), 600, 400, "#c0c0c0");
var pSet = paper.set();
var c = paper.image("images/img1.png", 0, 0, 200 ,300);
c.node.id = 'mainImg';
c.node.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)';
});
</script>
</body>
</html>
是过滤器中的''.''灰度是一个错字,还是从文档中嵌入的SVG派生的语法? –
另一个:尝试'过滤器:灰色;'而不是'过滤器:灰度;'为IE5 +,只是为了缩小可能的问题。 –
这是从文档中嵌入的SVG派生而来的语法。 –