2013-10-30 18 views
0

我有图像。 我想为图像制作模糊边缘。 我可以Image.OpacityMask只添加一个一个LinearGradientBrush,使只有水平或垂直只边缘模糊:如何在Image.OpacityMask中结合垂直和水平lineargradientbrush

<Image Height="300" Width="450" Name="oldImg" Source="/untitled.jpg"> 
<Image.OpacityMask> 
    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> 
    <GradientStop Offset="0" Color="Transparent"></GradientStop> 
    <GradientStop Offset=".3" Color="Black"></GradientStop> 
    <GradientStop Offset=".7" Color="Black"></GradientStop> 
    <GradientStop Offset="1" Color="Transparent"></GradientStop> 
    </LinearGradientBrush> 
</Image.OpacityMask> 
</Image> 

如何垂直和水平的一个LinearGradientBrush结合?

回答

1

一种方式是堆栈上的图像的两个矩形...

<Grid> 
<Image Height="300" Width="450" Name="oldImg" Source="/untitled.jpg"></Image> 
<Rectangle > 
    <Rectangle.Fill> 
    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> 
    <GradientStop Offset="0" Color="White"></GradientStop> 
    <GradientStop Offset=".3" Color="Transparent"></GradientStop> 
    <GradientStop Offset=".7" Color="Transparent"></GradientStop> 
    <GradientStop Offset="1" Color="White"></GradientStop> 
    </LinearGradientBrush> 
    </Rectangle.Fill> 
    </Rectangle> 
<Rectangle> 
    <Rectangle.Fill> 
    <LinearGradientBrush StartPoint="0,0" EndPoint="1,0"> 
    <GradientStop Offset="0" Color="White"></GradientStop> 
    <GradientStop Offset=".3" Color="Transparent"></GradientStop> 
    <GradientStop Offset=".7" Color="Transparent"></GradientStop> 
    <GradientStop Offset="1" Color="White"></GradientStop> 
    </LinearGradientBrush> 
    </Rectangle.Fill> 
    </Rectangle> 
</Grid> 

我不认为你可以填充/掩码中应用多个刷子。

+0

谢谢。但我建议它不能解决我的问题。可能使用LinearGradientBrush是不好的解决方案,您可以提供其他解决方案吗? – ShevninAnton

+0

它怎么解决你的问题? – PaulB

+0

我的问题更广泛,因为我有两个图像控件(它看起来像图层)。我想在顶部图像上模糊边缘,我可以看到第二个图像(其中边缘模糊) – ShevninAnton