收藏
回答

canvas绘制base64的图片,第二次无法进入onload?

1.canvas画图,安卓,无法将本地缓存图片绘制到canvas中,因为不会进入图片的onload。

2.然后使用了base64,这个可以绘制。但是第二次绘制的时候,相同的base64,也还是无法进入onload。

3.我是记录了一下这个base64是否曾经被加载过,然后保留这个base64的image对象。第二次直接绘制。

4.因为页面存在回退,再进入的情况。此时数据就被清空了。还是无法绘制。

5.而且,一直记录这个image对象,这个方法感觉也很呆。有没有好的解决办法。或者是我哪里使用的有问题。

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

5 个回答

  • 277
    277
    03-10

    我在每次导出图片后传入对应图片对象进行回收,可以解决这个问题

    03-10
    有用
    回复
  • 北极大尾巴狼
    北极大尾巴狼
    2023-08-18

    我用的离屏 canvas,创建的类型也是2d,然后现在这个canvas对象是在某个页面生成的,所以会有出去再回来,页面对象虽然不存在,但是图片却判定加载过了。我准备把他保存在全局算了。

    2023-08-18
    有用
    回复
  • 启年
    启年
    2023-08-18

    感觉你为了优化代码做了一些操作,比如保留这个image对象, 你有没有真正的把image对象保存成功或者说你保存了image对象,下次用的时候,这个image对象还存不存在。可以先不考虑优化性能,把功能做出来再说优化。


    还不行的话,做个代码片段看看吧

    2023-08-18
    有用
    回复
  • 红薯
    红薯
    2023-08-18

    可以画,用2d

    2023-08-18
    有用
    回复
  • 清蒸鱼
    清蒸鱼
    2023-08-18

    还是做一个代码片段分享出来看看吧

    2023-08-18
    有用
    回复
登录 后发表内容