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



我不太明白window.devicePixelRatio的值是什么,以及它如何决定我需要该设备的图像大小(2x、3x等)。

例如,在iMac 5K Retina(2015年末)上,我预计像素比至少为3左右,但实际上是2,与iPad Air和iPhone 6s相同。这是否意味着它更喜欢2x位图?3x?

devicePixelRatio是给定设备上物理像素与设备无关象素(凹陷)之间的比率。你可以把下降想象成显示器的"行为"。

例如:非视网膜27英寸iMac的物理像素宽度为2560。所有东西都是1:1显示的,所以它的倾斜宽度也是2560,所以devicePixelRatio就是1

在你的视网膜27英寸iMac上,宽度是5120个物理像素。但显示器的"表现"就像只有2560个像素宽,所以所有东西都以与非视网膜iMac相同的物理尺寸显示。因此,它仍然是2560个凹陷宽,所以devicePixelRatio2(5120/2560),你可以提供2倍的图像。

(如果你有视网膜显示器,你可以通过进入"系统首选项">"显示器">"显示",将"分辨率"切换到"缩放",然后将鼠标悬停在不同的选项上,来查找系统的倾斜值。默认情况下,在5K iMac上,它会显示"看起来像2560 x 1440")。

到目前为止,用于Retina显示器的图形的标准做法仍然是提供通常非Retina大小的两倍的图像。

提醒:只提供当前用户设备大小和分辨率所需的图像是很好的"带宽卫生"。这方面的解决办法不在这个问题的范围之内。

最新更新