收藏
回答

canvasPutImageData 无法绘制data

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug canvasPutImageData 工具 6.7.2 2.2.5

canvasPutImageData在开发工具中可以在canvas上输出图片,但是真机无法输出。


尝试在putImageData前清空画布,回调函数中setTimeOut一段时间再绘制,依旧无法生成,请检查,谢谢。


wx.canvasGetImageData({

canvasId: 'picEffect',

x: 0,

y: 0,

width: that.data.picWidth,

height: that.data.picHeight,

success:function(res){

var data=res.data;

if (imgData.length > 0) {

data = imgData;

}

else {

imgData=res.data;

}

var result=new Uint8ClampedArray(res.data.length);


………………

}


var ctx = wx.createCanvasContext('picEffect');

ctx.clearRect(0,0,that.data.picWidth,that.data.picHeight);

ctx.draw(true, setTimeout(function () {

wx.canvasPutImageData({

canvasId: 'picEffect',

data: result,

x: 0,

y: 0,

width: that.data.picWidth,

height: that.data.picHeight,

success: function (res) {

console.log(res);

wx.hideLoading();

},

fail: function (res) {

console.log(res);

}

})},100));

}


回答关注问题邀请回答
收藏

3 个回答

  • จุ๊บ justin คิดถึง
    จุ๊บ justin คิดถึง
    2020-11-03

    大佬 canvasPutImageData 里面的data数据格式是什么样子的呢

    2020-11-03
    有用
    回复
  • 是小白啊
    是小白啊
    2018-09-17

    ,你好,测试是可以的哦

    2018-09-17
    有用
    回复 3
    • Todother
      Todother
      2018-09-29

      你好,后来发现,可能是由于生产环境中使用的图片canvas较大,生成时等待时间不足,没有完全绘制导致,目前已解决,不过安卓机型对于大型图片的兼容并不好,经常只能画出四分之一图片。。

      2018-09-29
      回复
    • 是小白啊
      是小白啊
      2018-09-29回复Todother

      目前来说,canvas使用较大的图片,安卓的响应跟本身的手机性能是相关的

      2018-09-29
      回复
    • Todother
      Todother
      2018-09-29回复是小白啊

      好的,我们会注意测试机型,之前用小米8也出现了只能绘制四分之一情况,如果能够重现再来请教~谢谢

      2018-09-29
      回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-09-10

    你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-09-10
    有用
    回复 4
    • Todother
      Todother
      2018-09-11

      wechatide://minicode/uPo7qlmb7v2D  您好,请帮忙检查,谢谢。

      2018-09-11
      回复
    • Todother
      Todother
      2018-09-11

      IOS真机下无法显示,暂时测试用IPhone 7p IOS 11.4

      2018-09-11
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2018-09-11回复Todother

      你好,代码片段未能复现问题,IPhone 7p是能正常产生效果的,你是只有IPhone 7p 6.7.2无法产生效果?

      2018-09-11
      回复
    • Todother
      Todother
      2018-09-15回复疯狂的小辣椒

      你好,尝试在canvas.draw中回调可以显示图片,另发现部分安卓机型在putImageData前未覆盖canvas之前的内容,产生叠加,是否可以考虑为部分安卓机型性能不够?

      2018-09-15
      回复
登录 后发表内容