Flutter 颤振:使CustomPaint绘图层相互补充,而不是相互混合
我正在一个Flutter 颤振:使CustomPaint绘图层相互补充,而不是相互混合,flutter,dart,custom-painting,Flutter,Dart,Custom Painting,我正在一个CustomPaint上绘制两层图形。第一层将遮挡第二层的一半以上 问题 目前,我仅使用两个paints绘制第一个数据,然后使用它们的blendMode集绘制第二个数据 这将创建一个由两个数据混合而成的覆盖。但我不需要混合,只需要使用第二个绘制,即一个互补的复合视图来绘制差异区域 在性能方面,我不知道混合是否会有内部优化,以避免绘制遮挡部分 参考图像 请注意,所有这些数据图都混合在一起,但我只需要它们相互遮挡,而重叠的部分根本不会为了性能而绘制 尝试 我可以用一条新的路径来区分,但我
CustomPaint
上绘制两层图形。第一层将遮挡第二层的一半以上
问题
目前,我仅使用两个paint
s绘制第一个数据,然后使用它们的blendMode
集绘制第二个数据
这将创建一个由两个数据混合而成的覆盖。但我不需要混合,只需要使用第二个绘制
,即一个互补的复合视图来绘制差异区域
在性能方面,我不知道混合是否会有内部优化,以避免绘制遮挡部分
参考图像
请注意,所有这些数据图都混合在一起,但我只需要它们相互遮挡,而重叠的部分根本不会为了性能而绘制
尝试
我可以用一条新的路径来区分,但我不确定这是最简单的方法
我选中了repainboundary
,但它是一个处理不频繁数据更改的小部件,而不是我在这里需要的
类似地,Overlay
似乎是一个独立的小部件,所以我不知道如何将它安装到CustomPaint
中
问题:
有没有一个标准的方法来实现我所需要的遮挡?你能添加一些图像以供参考吗?@dev aentgs我更新了这个问题。它会有帮助吗?图像有帮助,但还无法想出解决方案。可能在
canvas.drawPath(Path.combine)(
中使用union
)会有所帮助,但不确定。