收藏
回答

drawImage画图在Android真机上显示空白

开发者工具上iOS、Android模拟器,iOS真机上都可以通过canvas >> drawImage >> canvasToTempFilePath >> saveImageToPhotosAlbum将图片保存到手机相册,但是在Android真机上显示空白


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

7 个回答

  • 沙隆巴斯
    沙隆巴斯
    2018-12-28

    搞了一晚上,好像有了点头绪,画图片前不能调 ctx.setFillStyle(); ctx.fillRect(); 这两个方法。

    反正没这两行代码就能看到图片了,吐血

    2018-12-28
    有用 2
    回复 3
    • 腿长👑一米二
      腿长👑一米二
      2022-07-08
      调了一天了 苹果可以 安卓不行 正当我质疑自己的时候 看到了你的评论。解决了就。
      2022-07-08
      回复
    • 禅川
      禅川
      2023-04-04
      离了大谱,居然还真就是这个问题....
      2023-04-04
      回复
    • 平头哥
      平头哥
      2023-05-30
      我找到具体的原因了,如果ctx.setFillStyle(); 参数是不支持的颜色,就会导致这个错误,比如传 rgba 类型,或者 transparent
      2023-05-30
      回复
  • 端木亽
    端木亽
    2022-08-19

    canvas 不能加样式 display:none 和 visibility:hidden; 不知道具体原因,但是加了在安卓机上输出图片为空白,IOS上正常;不加就都可以正常将绘制图片转base64

    2022-08-19
    有用
    回复
  • Jaymz
    Jaymz
    2019-08-30

    你好,请问楼主怎么解决的,我这边也遇到这个问题了

    2019-08-30
    有用
    回复
  • 蓝野明
    蓝野明
    2018-12-13

    已经解决,去掉两行代码就可以了

    2018-12-13
    有用
    回复 7
    • 2018-12-13

      请问楼主是怎么解决的?我的draw()在安卓上一直是fail

      2018-12-13
      回复
    • 张凯
      张凯
      2018-12-22回复

      +1 啊,draw()在安卓上一直是fail,输出图片都是空的,怎么解决的

      2018-12-22
      回复
    • 2018-12-24回复张凯

      我后来写了代码片段,在draw的回调给了个延迟就成功了,你可以试试看


      canvas.draw(true, setTimeout(() => {

          this.canvasToImage();    // canvas转图片的操作

      }, 1000));



      2018-12-24
      回复
    • 张凯
      张凯
      2018-12-24回复

      谢谢哈,我试了这个方法,在echarts中不行的

      ctx.draw(true);

      setTimeout(() => {

      wx.canvasToTempFilePath(opt, this);

      }, 1000);

      这样就可以了,不知道是不是回调有问题。

      2018-12-24
      回复
    • 2018-12-24回复张凯

      我也是echarts,哈哈哈~可能我在外面还加了个500ms的延迟的原因。

      那我想问你下,你echarts给1000ms,会不会还没draw完成,我就经常碰到这个问题,要延迟稍微久点才行。

      2018-12-24
      回复
    查看更多(2)
  • ruff
    ruff
    2018-12-13

    画布有些API是异步的。

    2018-12-13
    有用
    回复 1
    • 蓝野明
      蓝野明
      2018-12-13

      已经解决,官方文档上有的栗子代码是错的,不能完全参考官方栗子代码来写

      2018-12-13
      回复
  • 灵芝
    灵芝
    2018-12-11

    是所有Android都这样吗?提供一下代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2018-12-11
    有用
    回复 15
    查看更多(10)
  • Stephen
    Stephen
    2018-12-11

    适当加点延时

    2018-12-11
    有用
    回复 1
    • 蓝野明
      蓝野明
      2018-12-11

      加了延时的

      2018-12-11
      回复
登录 后发表内容