canvas绘制图片被覆盖问题
发布于 6 年前 作者 lhe 4214 次浏览 来自 问答

一、需求:

绘制两个canvas,用来绘制两个区域的动画,

canvas1和Canvas2有重叠的区域,

canvas2需要覆盖在canvas1上边;

Canvas1绘制的大图片200kb,canvas2绘制的小图片5kb,

绘图顺序,先绘制canvas1,后绘制canvas2。

二、问题: 1. 第一次初始化时,正常,没有问题;2. 因为触发一些条件,然后重绘这两个Canvas,canvas1却覆盖在了canvas1上边;

  1. 使用settimeout延时绘制canvas2,无效。

4. 有帖子说:

<block wx:if="{{condition}}">

导致的局部渲染造成了block里面的canvas绘制的内容 会覆盖到其它canvas绘制内容上面。

但是我这个项目两个canvas显示都需要进行wx:if判断:


5.尝试将需要先绘制的canvas1的wx:if条件限制去掉,问题依旧。

  1. 经测试,ios和android都有这样的问题。

好像是drawimage大图片总是在小图片绘制完之后才进行绘制,而跟canvas绘制顺序没有关系。

请问能否给个解决方案,这个问题比较紧急。。。

1 回复

小程序一个页面最好只是用一个canvas,用多了会出现页面卡顿,也不好控制

回到顶部