使用正弦波动画圆的填充

我正在尝试使用正弦波制作一个圆形动画。 这是我制作的示例图像:

示例图片。

所以黑色就是圆圈,你可以看到它以正弦波的方式切断。 当正弦波在水平方向“行进”并决定波应该放置在圆形全高度的Y值时,你能做到这一点吗? (使它看起来像圆圈中的水在顶部创造波浪并且能够决定圆圈中有多少“水”)

有办法做到这一点吗? 也许有一些地方可以阅读这些类型的动画?

需要注意的一点是,灰色背景代表透明度,因此圆圈的“截止”部分应该是透明的。

做这样的事情的主要特征是OpacityMask 。 下面的示例使用VisualBrush设置为Tile作为蒙版,并使用画笔的transform属性来执行您描述的运动。

                                       

要隐藏掩码,可以将其直接放在VisualBrush中,而不是像上面那样绑定。 您可能还想查看其他类型的画笔及其变换和视口/视图框。

更新 :面罩现在分为两部分,因此波幅可以单独调整。 你也可以调整ScaleTransform.ScaleX来改变频率,但你需要确保你得到整个波或动画0.5,0.25,0.1 ,例如尝试0.5,0.25,0.1