0

有一个蓝色矩形填充了自定义VisualBrush(左图)。一条线穿过矩形。如何修剪画笔以实现正确图像中的形状。

在此处输入图像描述

4

1 回答 1

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>

我不知道您的自定义画笔是什么,但如果您允许它类似于渐变画笔工作。

另一种选择是实际上有两个矩形,中间有一个分隔符,它们每个都有一个单独的渐变画笔。那么红线实际上是分隔符的背景颜色。

    <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>
于 2014-06-04T21:41:31.683 回答