使用下面方式导出图片时,设置图片的宽高为300*400,导出后使用getImageInfo获取图片尺寸信息,在真机上获取到的实际尺寸是在设置的基础乘了一个常量(小米8中是2.7左右)
wx.canvasToTempFilePath({ x: 0, y: 0, width: 300, height: 400, canvasId: 'canvas' , quality: 1, success: res => { wx.getImageInfo({ src: res.tempFilePath, success: info => { console.log(info.width) console.log(info.height) } }) } }) |
实际上console出来图的尺寸比设定的300*400要大,乘了一个常量,这个是什么原因?为什么会有一个常量?作用是什么?常量的定义是根据系统默认设置的还是手机分辨率不同设置的?
问题解决了吗?是pixelRatio的问题吧?
destWidth: newcanvasWidth * 750 / wx.getSystemInfoSync().windowWidth,
destHeight: newcanvasheight * 1100 / wx.getSystemInfoSync().windowHeight,
加上这两句试试。
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
wx.canvasToTempFilePath()需要在draw()回调中使用的哈