camera组件的takePhoto拍出来的照片,相比起实时预览的照片,缩放比例放大了,并且拍到了预览界面的上方屏幕之外的部分,也就是说发生了位移。
已测试机型:
- iPad5 - iPadOS16.7.10 - 8.0.54 - 3.7.2: 出现问题
- iPad mini4 - iOS15.8.3 - 8.0.54 - 3.7.2:正常,没有出现问题
- iPhone7 - iOS13.6.1 - 8.0.50 - 3.5.8:正常,没有出现问题
- Android系统暂未发现问题
暂时已发现的唯一出问题的机型是iPad5,系统是iPadOS16.7.10,微信版本8.0.54,基础库版本3.7.2
录屏视频可查看【腾讯文档】https://docs.qq.com/aio/DQUFtV3dLUnNJTE5I

好像是微信更新到8.0.56后才出现的这个问题,希望官方排查原因并解决!
目前已经发现出现此情况的机型:13pro max 、14pro、 14pro max
我这儿也出现了,都是ios机
ip14pro,ios18.1.1,微信8.0.56 也出现这个问题,不是稳定复现
我看官方的小程序“小程序示例”中也是有问题的,希望官方排查原因并解决!
这个问题哪位朋友找到解决方案了,麻烦给分享一下。
遇到同样的问题,希望快速修复
拍完之后会向左偏移 iphone13 iphone 14 Pro Max
遇到同样的问题, 机型 iphone 14 Pro, iOS 18.2, 微信8.0.55
/*** 拍照*/takePhotoHandle(){return new Promise((resolve, reject) => {//屏幕信息const {windowWidth,windowHeight,pixelRatio} = wx.getWindowInfo();//创建离屏Canvasconst canvas = wx.createOffscreenCanvas({type: '2d',width: windowWidth * pixelRatio,height: windowHeight * pixelRatio});const ctx = canvas.getContext('2d');ctx.scale(pixelRatio, pixelRatio);//创建ImageDataconst image = ctx.createImageData(_this.frame.width, _this.frame.height);//将实时帧写入ImageData, 需要前置监听实时帧(onCameraFrame)image.data.set(new Uint8ClampedArray(_this.frame.data))ctx.putImageData(image, 0, 0);//获得base64图像const base64Data = canvas.toDataURL('image/jpeg');resolve(base64Data);});}/*** 相机初始化完成* @param {*} e*/cameraInitDoneHandle(e) {this.setData({cameraLoading: false});this.setCameraListener();},/*** 监听相机实时帧*/setCameraListener() {const _this = this;this.ctx = wx.createCameraContext();this.listener = this.ctx.onCameraFrame((frame) => {_this.frame = frame;});this.listener.start();},/*** 相机意外中止* @param {*} e*/cameraStopHandle(e) {console.log('相机意外中止:', e)this.listener.stop();wx.navigateBack({delta: 1});},