屏幕分辨率和浏览器分辨率之差

时间:2013-03-16 16:39:04

标签: iphone resolution

iPhone 4s的分辨率为640 x 960像素,但http://www.whatismyscreenresolution.com/表示320 x 480像素。任何人都可以描述这种差异吗?

4 个答案:

答案 0 :(得分: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));

另外,您要求检测Retina显示的CSS3媒体查询:

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

答案 1 :(得分:1)

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

答案 2 :(得分: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

可以理解简单

答案 3 :(得分:0)

报告比较

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

Test Resolutions

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

在线工具

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

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

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

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

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

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