有一个蓝色矩形,其中填充了自定义VisualBrush
(左图)。一条线穿过矩形。如何修剪画笔以获得正确图像的形状。
答案 0 :(得分:0)
查看LinearGradientBrush。您希望对自定义的VisualBrush使用类似的操作。
<Rectangle Width="100" Height="200">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Blue" Offset="0"/>
<GradientStop Color="Blue" Offset="0.405"/>
<GradientStop Color="Black" Offset="0.405"/>
<GradientStop Color="Black" Offset="0.722"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
我不知道您的自定义画笔是什么,但是如果您允许它与渐变画笔一样工作。
另一种选择是实际上有一个两个矩形,中间有一个Separator,它们每个都有一个单独的渐变画笔。然后红线实际上是分隔符背景颜色。
<DockPanel Width="100" Height="200">
<Rectangle DockPanel.Dock="Top" Height="100" Margin="0">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="1"/>
<GradientStop Color="White"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Separator Height="2" DockPanel.Dock="Top" Background="Red" Margin="0"></Separator>
<Rectangle Margin="0" Fill="Black"/>
</DockPanel>