颤动:使CustomPaint绘图的图层相互补充,而不是相互融合

时间:2020-08-03 09:03:53

标签: flutter dart custom-painting

我正在一个CustomPaint上绘制两层图形。第一层将遮盖第二层的一半以上。

问题

当前,我仅使用两个Paint(设置了blendMode)绘制第一个数据,然后绘制第二个数据。

这将创建两个数据的叠加,将其混合。但是我不需要混合,只需要使用第二个Paint(即互补的合成视图)来绘制差异区域即可。

在性能方面,我不知道混合是否会进行内部优化以避免绘制被遮挡的部分。

参考图片

enter image description here

请注意,所有这些数据图都是融合在一起的,但我只需要它们相互遮挡,而重叠的部分根本就不会影响性能。

尝试

我可以使用一条新路径仅画出差异,但是我不确定这是最简单的方法。

我检查了RepaintBoundary,但这是一个处理不经常发生的数据更改的小部件,不完全是我在这里需要的。

类似地,Overlay似乎是一个独立的小部件,所以我不知道如何将其装入CustomPaint

问题

是否有实现我需要的遮挡的标准方法?

0 个答案:

没有答案