收藏
回答

小程序wx.getSystemInfo()Api获取的屏幕像素比不对?

模拟器用的是ios的6/7/8plus:

这是调用代码:
wx.getSystemInfo({
success(res) {
//rpx:px
console.log("pixelRatio:",res.pixelRatio);
console.log("screenWidth:",res.screenWidth);
console.log("windowWidth:",res.windowWidth);
console.log("brand:",res.brand);
},

这是返回结果:
pixelRatio: 3
screenWidth: 414
windowWidth: 414
brand: devtools

这是文档里的对rpx的介绍:
rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。

那么 414px*3 = 1242rpx;
如果要等于 750rpx 那 pixelRatio 应该是 750/414 = 1.811

现在请问这是小程序的问题还是我有哪里搞错了?希望有知晓的朋友解惑一下,谢谢各位。





回答关注问题邀请回答
收藏

1 个回答

  • 东伟
    东伟
    2020-06-09
    pixelRatio:当前显示设备的物理像素分辨率与CSS像素分辨率之比。
    rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。
    pixelRatio=3表示3个物理像素描绘一个css像素,rpx是微信将屏幕切位750份。
    两者没什么直接关系,可以这样换算,1px=(750/屏幕宽度414)=1.81rpx,这1px,或者说1.81rpx在pixelRatio=3的屏幕上有3个物理像素显示。
    
    2020-06-09
    有用 1
    回复 3
    • Sunnnny
      Sunnnny
      2020-06-09
      好的谢谢您,我特意查了下 PixelRatio = 物理像素 / dips。我的问题解决了,我还想问一下”表示3个物理像素描绘一个scc像素“ scc像素是什么?(我刚刚查了下,好像没有相关的解释)
      2020-06-09
      回复
    • 东伟
      东伟
      2020-06-09回复Sunnnny
      打错了,是css,就是px呀
      2020-06-09
      回复
    • Sunnnny
      Sunnnny
      2020-06-09回复东伟
      谢谢您解惑,我之前把 pixelRatio 理解错了,现在知道了。
      2020-06-09
      回复
登录 后发表内容
问题标签