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

第三代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);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值