计算笔记本电脑PPI的JavaScript小工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KimSoft/article/details/81194493

第三代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);
阅读更多
换一批

没有更多推荐了,返回首页