屏幕分辨率和浏览器分辨率之间的差异

问题描述 投票:5回答:4

iPhone 4s的分辨率为640 x 960像素,但是当http://www.whatismyscreenresolution.com/表示为320 x 480像素时。谁能描述这种差异?

iphone resolution
4个回答
8
投票

当然,该网站实际上并不知道您设备的物理分辨率。它要求操作系统通过JavaScript检索分辨率。在iOS上,这有点奇怪:所有与图形相关的框架和库都以“点”衡量大小,在非视网膜设备上,一个点是一个像素,但是在视网膜设备上,一个点是两个像素。

例如,如果您问UIKit是同一件事,您将得到相同的结果。在iPhone 4和4S上,[[UIScreen mainScreen] bounds].size也将返回320 x 480-以磅为单位的大小。

在JavaScript中,乘以window.devicePixelRatio属性可以获得正确的分辨率:

var scale = window.devicePixelRatio;
window.alert(screen.width * scale + "px x " + screen.height * scale + "px");

在本机代码中,您可以通过乘以[UIScreen mainScreen].scale来获得物理大小:

CGSize size;
size.width = [UIScreen mainScreen].scale * [UIScreen mainScreen].bounds.size.width;
size.height = [UIScreen mainScreen].scale * [UIScreen mainScreen].bounds.size.height;
NSLog(@"%@", NSStringFromCGSize(size));

此外,您还要求CSS3媒体查询来检测Retina显示器:

<link rel="stylesheet" type="text/css" href="foo.css" media="only screen and (-webkit-min-device-pixel-ratio: 2)" />

1
投票

分辨率为640 x 960像素,分辨率为320 x 480 。这与视网膜显示屏有关。在Retina显示器上,每点(2x2)有4个像素,而在普通屏幕上,每点只有1个像素。


1
投票

首先是屏幕分辨率,每个现代的LCD屏幕都使用像素(微小的正方形或矩形点)来显示屏幕信息(文本,图片等)。每个显示器都有分辨率,即像素的度量。通常,分辨率显示为“ 640×480”之类的东西,这意味着宽度为640像素,向下为480像素。将这些数字相乘,您将获得像素总数。有一组由一系列字母(例如VGA,WVGA,XGA等)指定的标准分辨率。

一种分辨率比另一种更好吗?这取决于。通常,如果您查看两个相同尺寸的屏幕,而一个屏幕的分辨率高于另一个屏幕,则更高分辨率的屏幕看起来会更清晰,因为它具有构成您所看到图像的更多像素。但是,除非对系统字体大小进行了更改,否则在上述高分辨率屏幕上的文本将显得较小。 HTC已确保增加其所有高分辨率设备(如Touch Diamond,Pro和HD)的系统字体大小,以提高可读性,The best way to describe the difference b/w screen and browser resolution


0
投票

报告比较

浏览器的宽度/高度和显示器分辨率:这些报告并不相同,因为浏览器的宽度/高度只是浏览器窗口内的可见区域。监视器分辨率是整个屏幕,而不管滚动条或浏览器窗口的大小。单击以下按钮查看浏览器的宽度/高度和显示器分辨率:

Test Resolutions

浏览器的宽度/高度和屏幕的宽度/高度:这些报告相互排斥,因为浏览器的宽度/高度仅用于非移动设备,而屏幕的宽度/高度仅用于移动设备。显示器分辨率和屏幕尺寸:尽管这两个报告本质上显示的是同一件事,但它们彼此之间也是互斥的。 “监视器分辨率”报告专门针对非移动设备,“屏幕尺寸”报告专门针对移动设备。

在线工具

浏览器宽度:浏览器可视区域的宽度(以像素为单位)。它考虑了滚动条,并且如果更改了窗口大小,则会进行更改。此数字是使用IE方法的javascript方法document.body.offsetWidth和所有其他浏览器的window.innerWidth来计算的。

浏览器高度:浏览器可视区域的高度(以像素为单位)。它考虑了标题栏和书签栏,并且如果更改了窗口大小,则可以更改。此数字是使用IE方法的javascript方法document.body.offsetHeight和所有其他浏览器的window.innerHeight来计算的。

显示器分辨率:整个显示器的宽度和高度(以像素为单位),与浏览器大小无关。它是使用javascript方法screen.width和screen.height进行计算的。

屏幕尺寸:仅在移动报告中使用。它基于移动设备的用户代理字符串,其中引用了包含每个设备的屏幕尺寸的查找表。

屏幕宽度:仅在移动报告中使用。与屏幕大小相同,仅此报告仅引用设备的屏幕宽度。

屏幕高度:仅在移动报告中使用。与屏幕大小相同,仅此报告仅引用设备的屏幕高度。

© www.soinside.com 2019 - 2024. All rights reserved.