收藏
回答

canvasPutImageData 无法绘制data

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
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));

}


最后一次编辑于  2018-09-10  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

9 个回答

  • 娇华
    娇华
    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
      赞同
      回复
  • 是柿子啊
    是柿子啊
    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
      赞同
      回复