html - 为什么低分辨率图像在使用视网膜屏幕查看的网站上显得模糊?

标签 html css retina

当我有一张 500 x 500 像素的图像时,该图像在正常显示器上看起来很清晰(即 CSS 像素 1:1 映射到设备像素)。但是当使用 Retina 显示器查看此图像时,它必须将图像的每个像素映射到 4 个视网膜像素(分辨率是原来的两倍)。在 Retina 显示屏上,图像也以 500 x 500 CSS 像素显示,但缩放为 1000 x 1000。我不太明白为什么图像在 Retina 屏幕上看起来模糊,因为物理尺寸保持不变,因为两个显示器大小相同。

模糊是 4 个像素之间的空间造成的吗?

图片来自:http://coding.smashingmagazine.com/2012/08/20/towards-retina-web/

enter image description here

最佳答案

您的结果将取决于您的特定浏览器使用的重采样技术。这是图像的“模糊”插值,通常适用于照片内容,但不适用于具有锐边的图形或内容。例如,一种常见的算法是双线性插值,这是 Firefox 中的默认算法。

虽然没有标准的 API 来控制使用哪种方法,但 Firefox 在 CSS 中提供了 image-rendering 属性。

https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering

此属性也在 Webkit 浏览器中使用 -webkit-optimize-contrast 属性实现。

上面的链接也很好地概述了使用图像重采样背后的基本原理。

关于html - 为什么低分辨率图像在使用视网膜屏幕查看的网站上显得模糊?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20362524/

相关文章:

html - 在容器边缘定位元素

c++ - OS X 上 Qt5 中的 Retina 支持

html - 宽度未知的水平定位(和小的父元素)

html - 多个颜色选择器不工作

html - 打印带有固定页眉和页脚的网页(隐藏一些数据)

html - 相对元素不包裹绝对容器

iOS 7 UINavigationBar Retina 图像大小

html - 视网膜 - 设备像素比和图像大小之间的相关性?

html - Django:如何在 Bootstrap 中将表单集中在 html 模板上?

javascript - Canvas - 旋转我的图像(圆圈)