我需要将内部遗留 Web 应用程序上的一些彩色图像转换为灰度图像。我认为最简单的方法是使用 CSS 过滤器。由于组策略,此应用程序的用户通过 IE11 访问它。此应用程序还必须使用 Quirks (IE5) 文档模式运行,否则会发生疯狂的事情(呈现问题、javascript 不工作等)。
我尝试了以下代码(以及来自 here、here 和 here 的代码)
img.desaturate {
-webkit-filter: grayscale(100%);
filter: gray;
filter: grayscale(100%);
filter: url(desaturate.svg#greyscale);
}
没有效果。鉴于此标准(IE11 在 IE5 文档模式下运行),我可以做些什么来获取这些灰度图像,如果可以,怎么做?
注意:重新设计应用程序以使用更多现代技术目前没有资金,将来也不会。
注意:使用一些脚本将每张图像转换为灰度并保存输出也不是一种选择,因为有数百万张图像可用。
链接到显示彩色 Google Logo 的示例:https://jsfiddle.net/bq2mw5ya/2/
最佳答案
实际上我把我的评论作为反馈的答案:
IE 特定的过滤器应该放在最后,所以它不会被下一个覆盖。
还应允许 Activex 运行
当然,它应该处于怪癖模式......
img.desaturate {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
filter: url(desaturate.svg#greyscale);
filter: gray;
}
关于css - 在 Quirks 模式下运行的 IE11 中使用 css 制作灰度图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55490804/