Image OpacityMask无法正常工作

时间:2015-12-17 03:20:24

标签: wpf

我在这做错了吗?

<Image Source="image.jpg" Stretch="Fill" Name="BGImage">
    <Image.OpacityMask>
        <ImageBrush ImageSource="image.jpg" />
    </Image.OpacityMask>
    <Image.Effect>
        <BlurEffect Radius="10" />
    </Image.Effect>
</Image>

我只是使用这个测试图像,但ImageBrush根本不起作用...黑色/白色不应该不可见吗? (忘了哪一个)。 enter image description here

1 个答案:

答案 0 :(得分:2)

单击图像以确保选中该图像,然后单击“渐变” 在Brushes下刷选所选的OpacityMask属性。 在左侧渐变停止的Alpha字段中输入0%。 也尝试更改RGB值。

注意画板上的图像是如何变化的。例如;

<Image Source="image.jpg" RenderTransformOrigin="0.5,0.5">
            <Image.Effect>
                <BlurEffect KernelType="Box" Radius="10"/>
            </Image.Effect>
            <Image.OpacityMask>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="Black" Offset="0"/>
                    <GradientStop Offset="1"/>
                </LinearGradientBrush>
            </Image.OpacityMask>
</Image>

要将图像用作不透明蒙版,请使用透明背景制作图像。

    <Image Source="image.jpg">
        <Image.OpacityMask>
            <ImageBrush ImageSource="mask1.png" Stretch="Uniform"/>
        </Image.OpacityMask>
        <Image.Effect>
            <BlurEffect KernelType="Box" Radius="2"/>
        </Image.Effect>
    </Image>

在下图中,左侧图像是应用的蒙版,下方是实际图像。在屏蔽图像透明的任何地方,底层图像都会显示。

Masked image