小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在网上搜到的答案大部分都是用ratio = wx.getSystemInfoSync().windowWidth/375 去实现,虽然在iphoneX系列手机还是会错位,但是至少还可以判断手机是不是iphoneX系列然后做单独处理,现在我是遇到在红米手机出现错位,这真是伤脑筋,怎么解决啊
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这个我已经完美解决了,但是出现另一个bug
https://developers.weixin.qq.com/community/develop/doc/000886c4e886e8f7c50a7b50859400
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
wx.getSystemInfoSync().pixelRation
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这个我已经完美解决了,但是出现另一个bug
https://developers.weixin.qq.com/community/develop/doc/000886c4e886e8f7c50a7b50859400
1。首先你按照官方canvas2D示例设置dpr,文档有代码片段。这里有个坑。看红框部分,这里不要按示例写,换成你画布的尺寸。
2。计算缩放比例,按照750rpx标准。我的设计稿是650*1000px,明显比手机屏幕大,要按比例缩放到屏幕上,所以*rpx2pxRatio,这个变量很重要,后面都要用。
3。后面绘画的所有长度单位(宽高,不包括坐标点),都要*rpx2pxRatio。
实测所有模拟器都不变形,效果很好,见最后一张图。另外如果想定位自适应还有别一套方案,懒得写了。。。
wx.getSystemInfoSync().pixelRation
return rpx / wx.getSystemInfoSync().pixelRation
}