多个canvas重绘时的覆盖问题
发布于 6 年前 作者 yangzhang 1428 次浏览 来自 问答
  1. 我有两个canvas,其中canvas1是前面的canvas(是一个矩形区域,我绘制很多小的rect在上面),canvas2是后面的canvas(在矩形区域上的一个button,使用canvas绘制),并且两个canvas的区域会重合,初始化时,canvas2能够覆盖在canvas1上面(第一次绘制两个canvas的内容),正确

  2. 当我触发一些操作导致重绘,canvas1和canvas2都进行重绘,这个时候就会发现,canvas2的内容被canvas1(上面有很多个小rect)所覆盖,即canvas2所绘制的button被canvas1绘制的很多小rect所覆盖在下面

  3. 我尝试了将canvas2的绘制setTimeout了几秒..仍然会出现这种canvas2绘制内容被canvas1所绘制内容覆盖的现象,但是无论是wxml的位置,还是重绘的顺序,都是canvas2在后面,为什么会出现canvas2被canvas1绘制内容覆盖的现象呢?

2 回复

你把<block wx:if="">改成<block wx:show="">试试,这样就不会重绘了

这个,如果两个Canvas都有<block wx:if></block>进行判断呢,这个怎么处理,我也遇到了跟你同样的问题。也是初始化的时候显示正常,触发一些操作导致重绘,canvas1和canvas2都进行重绘,但是却被覆盖了。有没有可行的解决方案呢

回到顶部