第三代iPad发布会上,苹果给出了Retina设计标准的公式:
a = 2arctan(h/2d)
其中: a代表人眼视角,h代表像素间距,d代表肉眼与屏幕的距离。符合以上条件的屏幕可以使肉眼看不见单个物理像素点。这样的IPS屏幕就可被苹果称作“Retina显示屏”。
将通常使用距离代入上公式可知:
移动电话显示器的像素密度达到或高于300ppi就不会再出现颗粒感;
手持平板类电器显示器的像素密度达到或高于260ppi就不会再出现颗粒感;
而苹果电脑的Retina显示器像素密度只要超过200ppi就无法区分出单独的像素。
String.prototype.format = function() {
var formatted = this;
for (var i = 0; i < arguments.length; i++) {
var regexp = new RegExp('\\{' + i + '\\}', 'gi');
formatted = formatted.replace(regexp, arguments[i]);
}
return formatted;
};
var Computer = {
createNew: function(name, width, height, inch){
var computer = {};
computer.name = name;
computer.width = width;
computer.height = height;
computer.inch = inch;
computer.getPPI = function(){
return parseInt(Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / inch)
};
computer.isRetina = function(){
return this.getPPI() >= 200;
};
computer.displayPPI = function(){
document.writeln("{0} -> 分辨率:{1} * {2};尺寸:{3};PPI:{4}{5};<br />".format(this.name, this.width, this.height, this.inch, this.getPPI(), this.isRetina() ? "(Retina)" : ""));
};
return computer;
}
};
Computer.createNew("ThinkPad S3 14", 1440, 900, 14).displayPPI();
Computer.createNew("ThinkPad T48 14 FHD", 1920, 1080, 14).displayPPI();
Computer.createNew("ThinkPad T48 14 WQHD", 2560, 1440, 14).displayPPI();
Computer.createNew("MacBookPro 15.4", 2880, 1880, 15.4).displayPPI();
计算结果:
ThinkPad S3 14 -> 分辨率:1440 * 900;尺寸:14;PPI:121;
ThinkPad T48 14 FHD -> 分辨率:1920 * 1080;尺寸:14;PPI:157;
ThinkPad T48 14 WQHD -> 分辨率:2560 * 1440;尺寸:14;PPI:209(Retina);
MacBookPro 15.4 -> 分辨率:2880 * 1880;尺寸:15.4;PPI:223(Retina);