此图最能说明问题:
我正在自定义使用SuperBGImage的WordPress主题。在Safari 5.1和Chrome 13中,调整浏览器窗口的大小时,图像无法平滑消除锯齿,并且清晰可见。您可以轻松地将SuperBGImage演示与生产站点进行比较...
SuperBGImage Demo与My Project
我已将演示图像添加到WordPress网站(个人类别)以进行直接比较。樱桃的形象是最明显的。
我已经为此工作了一段时间,并尝试了以下操作但无济于事:
尝试在幻灯片图像上添加2px边框,从而解决了CSS3转换中几乎不相关的问题。
还原缩放算法,我已对其进行了修改,使其永不裁剪图像。
添加了演示中使用的完全相同的图像文件。
尝试添加box-shadow
以触发平滑。
试图修改所有的JS和CSS,以寻求潜在的监督。 (image-rendering: optimizeQuality;
和-ms-interpolation-mode: bicubic;
始终保持不变。
确认SuperBGImage可与jQuery 1.3.2(演示)和1.6.2(项目)一起使用。
构建了一个简化的演示,并确认问题不在于我修改的SuperBGImage JS。 (唯一的区别是裁剪方法。)
观看SuperBGImage演示时,您会注意到在释放调整后的窗口后大约半秒钟进行平滑处理。我的项目没有这种微妙的变化,尽管它过去一直在起作用。有谁知道是什么原因造成这种差异?
与大多数项目不同,令人遗憾的是,我在源代码管理中没有此功能,因此我不能仅退一步修订以找出问题所在。
对于那些想摆弄一个简单演示的人:http://jsfiddle.net/4ZcPF/
最佳答案
答案是使用此CSS3属性:
-webkit-优化质量
这是正确的解决方案,尽管由于以下原因它可能有效或无效:
直到最近,插值质量还被认为是实现细节(这意味着浏览器可能具有随机结果,并且受标准机构的规则约束)。
艺术家强烈建议使用此属性,实际上是因为他们希望能够为像素艺术关闭高质量缩放。经过了一年的辩论,每个人都同意这一点。
该Webkit补丁程序是在2011年5月刚刚签入以支持此功能的,因此,将其实际放入用户的Safari更新中将花费一些时间。
IE和Firefox在专有CSS属性下已经有可行的解决方案了。
最终,此属性将删除webkit前缀,并成为所有浏览器的标准配置。
如果您需要开发背后的细节,请参见以下线程:
http://code.google.com/p/chromium/issues/detail?id=1502