在循环里使用canvasToTempFilePath时候剪辑出来的图片手机端会出现偏移,电脑端正常
发布于 6 年前 作者 xiulan01 745 次浏览 来自 官方Issues

电脑拍照通过canvas剪辑没有任何问题,但是在真机调试里面,出现偏移,一个图片,通过循环去裁剪,宽度是等宽的,高度是计算出的,一张图片循环的次数越多,偏移的越大,宽和高都出现了偏移。打印出计算的高和宽,数值正常,打印出canvas的宽和高,也都正常。最后输出的图片就是不正常

let areaHeight = imgWidth * 0.176 * area[i]
y += areaHeight
ctx_A.drawImage(imageUrl, 00, 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',
                successfunction (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

回到顶部