我正在开发一个图表应用程序,其中有 2 条折线,例如折线 A(在下图中显示为红色线)和折线 B(在下图中显示为蓝色线)。
图表中可能有 2 个条件:
当红线从上方与蓝线相交然后停留在蓝线下方时,我想用一些颜色填充该区域。
当红线从下方与蓝线相交然后停留在蓝线上方时,我想用其他颜色填充该区域。
我正在开发一个图表应用程序,其中有 2 条折线,例如折线 A(在下图中显示为红色线)和折线 B(在下图中显示为蓝色线)。
图表中可能有 2 个条件:
当红线从上方与蓝线相交然后停留在蓝线下方时,我想用一些颜色填充该区域。
当红线从下方与蓝线相交然后停留在蓝线上方时,我想用其他颜色填充该区域。
没有做过这个,我可以想象你可以通过填充路径并以适当的方式设置它的剪辑来做你想做的事情而无需太多的数学。
假设您用绿色填充红线下方的整个区域。因此,您将设置一个填充Path
,其Data
几何形状是一个封闭的多边形,由红线的所有点加上视口的两个下角点组成。在此基础上,Path
您可以将该Clip
属性设置为另一个封闭的多边形几何体,该几何体将由蓝线中的所有点加上视口的两个上方点组成。对于红色填充,您将再次执行相同的操作,但使用交换的折线。
直接的方法当然是找到交点,确定交点的方向,从上下线点加上适当的交点创建闭合多边形,并根据交点方向填充这些多边形。
祝你好运!