在循环里使用canvasToTempFilePath时候剪辑出来的图片手机端会出现偏移,电脑端正常
电脑拍照通过canvas剪辑没有任何问题,但是在真机调试里面,出现偏移,一个图片,通过循环去裁剪,宽度是等宽的,高度是计算出的,一张图片循环的次数越多,偏移的越大,宽和高都出现了偏移。打印出计算的高和宽,数值正常,打印出canvas的宽和高,也都正常。最后输出的图片就是不正常
let areaHeight = imgWidth * 0.176 * area[i]
y += areaHeight
ctx_A.drawImage(imageUrl, 0, 0, imgWidth, imgHeight) //大小正常
console.log('这是第',i,'分别从',imageUrl,'开始剪',imgWidth,imgHeight,area[i]) // 正常
ctx_A.draw();
Taro.canvasToTempFilePath({//调用方法,开始截取
x: x,
y: ys,
width: width, // 这里数值正常
height: areaHeight, // 正常
destWidth: destWidth*2,
destHeight: areaHeight*2,
canvasId: 'myCanvas',
success: function (res) {
Taro.showLoading({
title: '成功',
})
imgFiles.push(res.tempFilePath)
console.log('这是第',i,res.tempFilePath)
_this.setState({
imgFiles
})
Taro.hideLoading()
// console.log('res.tempFilePath',i,ys,res.tempFilePath);
}
})
1 回复
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)