你可以将简单形状的不透明蒙版和一些渐变颜色组合在一起生成类似剪纸一样的效果。下面的例子,可以生成一个云朵状的效果。
要这样的效果,首先要有个使用渐变色填充的Rectangle 。
<Rectangle Height="400" Stroke="Black" Width="600">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFBFBFB" Offset="0.504"/>
<GradientStop Color="#FFD6E1EA" Offset="0.734"/>
<GradientStop Color="#FF6EB5F5" Offset="1"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
然后生成一个云朵状的图片,黑色是不透明,其他的背景色为透明。
最后,将这个图片作为ImageBrush ,并应用为Rectangle的OpacityMask 。
原文地址:https://wpf.2000things.com/2012/05/16/559-drawing-a-masked-gradient-in-blend/