用的是
wx.getSystemInfoSync()
获取屏幕的宽高,以此来对画面进行裁剪。
但是,在不同手机上的效果不一样,具体看图片。
- 这个API的宽高到底是以什么为单位的?
var info = wx.getSystemInfoSync();
var w = info.screenWidth;
var h = info.screenHeight * 0.5;
canvas.toTempFilePath({
x: 10,
y: 0,
width: w,
height: h,
destWidth: 400,
destHeight: 300,
success: (res) => {
wx.shareAppMessage({
title:"瞧我做了啥,你也来试试!",
imageUrl: res.tempFilePath
})
}
})
破案了。
wx.getSystemInfoSync()
获取到的pixelRatio值有问题。
跟我用引擎的API获取倒的值不一样。
我用的是的cocos,
cc.view.getDevicePixelRatio
你好,单位是px
你好,请问我这个问题有什么解决方案吗?
跟dpr有关系,你要乘以一个canvas的缩放系数,比如窗口宽可能是375,canvas的宽是750,那就将参数都乘以2,以此类推。