我正在一个CustomPaint
上绘制两层图形。第一层将遮盖第二层的一半以上。
当前,我仅使用两个Paint
(设置了blendMode
)绘制第一个数据,然后绘制第二个数据。
这将创建两个数据的叠加,将其混合。但是我不需要混合,只需要使用第二个Paint
(即互补的合成视图)来绘制差异区域即可。
在性能方面,我不知道混合是否会进行内部优化以避免绘制被遮挡的部分。
参考图片
请注意,所有这些数据图都是融合在一起的,但我只需要它们相互遮挡,而重叠的部分根本就不会影响性能。
我可以使用一条新路径仅画出差异,但是我不确定这是最简单的方法。
我检查了RepaintBoundary
,但这是一个处理不经常发生的数据更改的小部件,不完全是我在这里需要的。
类似地,Overlay
似乎是一个独立的小部件,所以我不知道如何将其装入CustomPaint
。
是否有实现我需要的遮挡的标准方法?