1***@qq.com
1***@qq.com
  • 发布:2022-01-11 14:04
  • 更新:2022-01-11 18:59
  • 阅读:601

【报Bug】调用uni.canvasGetImageData时,图片宽高为3024 * 4032,APP直接崩溃了

分类:uni-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')  
    }  
  })  
})
2022-01-11 14:04 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

那张图片发下

  • 1***@qq.com (作者)

    你好,图片已经发到问题上了,我试过10801080是ok的 然后这张3024 4032直接炸了...

    2022-01-12 08:57

DCMarvel

DCMarvel

内存溢出了吧,图片先压缩一下吧

  • 1***@qq.com (作者)

    因为我是做图像校正的功能,要对图片数据进行修改处理,目前做法是通过一个canvas找到要截取的内容后,然后新建一个canvas来存储需要截取的内容ImageData,然后再putImageData,压缩之后,canvas转成图片不会模糊吗?

    2022-01-12 08:55

该问题目前已经被锁定, 无法添加新回复