uni-app 调用uni.canvasGetImageData时图片宽高3024 * 4032导致APP崩溃
uni-app 调用uni.canvasGetImageData时图片宽高3024 * 4032导致APP崩溃
产品分类
- uniapp/App
| 项目 | 值 |
|---|---|
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.3.3 |
| 手机系统 | Android |
| 手机系统版本号 | Android 11 |
| 手机厂商 | 小米 |
| 手机机型 | 红米K40 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤
调用uni.canvasGetImageData
预期结果
调用uni.canvasGetImageData时,能够正常返回数据
实际结果
调用uni.canvasGetImageData时,图片宽高为3024 * 4032,APP直接崩溃了
bug描述
that.ctx.draw(false, () => {
console.log('beforeGetImageData')
// 获取 canvas 的像素数组
uni.canvasGetImageData({
canvasId: 'myCanvas',
x: 0,
y: 0,
width: that.canvasStyle.width,
height: that.canvasStyle.height,
success: imageData => {
console.log(imageData, 'imageData')
},
fail: err => {
console.log(err, 'getImageDataErr')
},
complete: message => {
console.log(message 'getImageMessage')
}
})
})
更多关于uni-app 调用uni.canvasGetImageData时图片宽高3024 * 4032导致APP崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
那张图片发下
更多关于uni-app 调用uni.canvasGetImageData时图片宽高3024 * 4032导致APP崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好,图片已经发到问题上了,我试过10801080是ok的 然后这张3024 4032直接炸了…
内存溢出了吧,图片先压缩一下吧
因为我是做图像校正的功能,要对图片数据进行修改处理,目前做法是通过一个canvas找到要截取的内容后,然后新建一个canvas来存储需要截取的内容ImageData,然后再putImageData,压缩之后,canvas转成图片不会模糊吗?

