【问题标题】:Browser Image Rendering浏览器图像渲染
【发布时间】:2009-08-21 23:10:57
【问题描述】:
我正在使用 JavaScript 在我的网页上动态调整透明 .gif 的大小。原始图像大小约为 200x200 像素,通常调整为 600x600 到 800x800 之间。在 IE8 和 FF3 中,调整大小的图像会产生漂亮的渐变,其中颜色似乎被拉伸了。但是,在 IE7 和 FF2 等较旧的浏览器中,调整大小的图像不会显示渐变,而只是显示相同颜色的块。显然,浏览器中内置了一些东西会导致这种情况,但是我很好奇是否有办法解决这个问题而无需更改我的原始图像。
【问题讨论】:
标签:
javascript
html
image
browser
rendering
【解决方案1】:
没有。较旧的浏览器只是获取图像中的像素,并根据您为图像提供的新尺寸相乘。
较新的浏览器似乎具有更高级的图像渲染和抗锯齿等功能,但较旧的浏览器无法做到这一点。如果您希望图像在所有尺寸下看起来都很好,请尽可能大,然后在需要时让它缩小。放大小图像会看起来很丑,尤其是在旧浏览器中,您无能为力。
【解决方案2】:
如果您只是将它用作渐变,为什么不在 Photoshop/Gimp 中创建一个具有正确分辨率的新渐变,以满足您的需求。从长远来看,它会比尝试在所有浏览器中正确显示放大的图像要简单得多。
【解决方案3】:
如果添加“-ms-interpolation-mode:bicubic;”,IE7 似乎支持双三次到你的 img css 风格。我自己没有尝试过,想知道它是否适用于 gif 或它是否只适用于真彩色图像。