Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF XAML-图像的玻璃效果_C#_Wpf_Xaml_Transparency_Effect - Fatal编程技术网

C# WPF XAML-图像的玻璃效果

C# WPF XAML-图像的玻璃效果,c#,wpf,xaml,transparency,effect,C#,Wpf,Xaml,Transparency,Effect,是否有可能创建一个玻璃般的图像显示,如包含在中的缩略图(例如,具有Gordon Ramsay图像的缩略图对于我要重新创建的图像具有很好的蓝色玻璃效果) 你知道我该如何着手解决这个问题吗?DropShadowBitmapEffect和 <Border BorderThickness="1" Height="94" Width="175.5" Margin="3,3,0,3" HorizontalAlignment="Left" VerticalAlignmen

是否有可能创建一个玻璃般的图像显示,如包含在中的缩略图(例如,具有Gordon Ramsay图像的缩略图对于我要重新创建的图像具有很好的蓝色玻璃效果)

你知道我该如何着手解决这个问题吗?DropShadowBitmapEffect和
<Border BorderThickness="1"
                Height="94" Width="175.5" Margin="3,3,0,3" HorizontalAlignment="Left" VerticalAlignment="Center">
                <Border.BorderBrush>
                    <SolidColorBrush Color="#FFF9F9F9" Opacity="0.5"/>
                </Border.BorderBrush>
                <Border.BitmapEffect>
                    <DropShadowBitmapEffect ShadowDepth="1" Softness="0.305" Color="#FFF9F9F9"/>
                </Border.BitmapEffect>
                        <Image Name="myImg" Stretch="Fill"/>
            </Border>

它看起来像
边框的
画笔
是浅蓝色/灰色的
纯色画笔
,可能具有相同颜色的
背景
。我认为“玻璃”或“褪色边缘”效果是通过
图像上的
不透明遮罩来实现的


您可以在MSDN的页面上找到更多关于使用
OpacityMask
的信息。

它看起来像
边框的
画笔
是浅蓝色/灰色
纯色画笔
,可能具有相同颜色的
背景。我认为“玻璃”或“褪色边缘”效果是通过
图像上的
不透明遮罩来实现的


您可以在MSDN的页面上找到有关使用
不透明掩码的更多信息。

这就是我如何根据您的建议对其进行编码的原因(背景图像的图像源以编程方式设置在C#中并工作):


多亏了您的推荐,我最终还是这样编写了它(背景图像的imageSource是用C#编程设置的,可以正常工作):


<Border BorderThickness="1" CornerRadius="5" Height="94" Width="175.5"
                    HorizontalAlignment="Left"  VerticalAlignment="Center" Margin="3,3,0,3">
                <Border.Background>
                    <ImageBrush x:Name="myImg" Stretch="Fill"/>
                </Border.Background>
                <Border.Effect>
                    <DropShadowEffect BlurRadius="10" ShadowDepth="7" Direction="315"/>
                </Border.Effect>
                <Border.BorderBrush>
                    <LinearGradientBrush EndPoint="0.811,0.2" StartPoint="0.246,1.023">
                        <GradientStop Color="#FF7C9FC8" Offset="0"/>
                        <GradientStop Color="#FF7C9FC8" Offset="1"/>
                        <GradientStop Color="#FF353535" Offset="0.491"/>
                    </LinearGradientBrush>
                </Border.BorderBrush>
                <Border BorderThickness="0"  CornerRadius="0" Margin="0" >
                    <Border.Background>
                        <RadialGradientBrush GradientOrigin="0.7,-0.6" RadiusY="0.5" RadiusX="1.001">
                            <RadialGradientBrush.RelativeTransform>
                                <TransformGroup>
                                    <ScaleTransform CenterY="0.5" CenterX="0.5" ScaleY="1" ScaleX="1"/>
                                    <SkewTransform AngleY="0" AngleX="0" CenterY="0.5" CenterX="0.5"/>
                                    <RotateTransform Angle="-29.285" CenterY="0.5" CenterX="0.5"/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </RadialGradientBrush.RelativeTransform>
                            <GradientStop Color="#B6FFFFFF"/>
                            <GradientStop Color="#0BFFFFFF" Offset="0.578"/>
                        </RadialGradientBrush>
                    </Border.Background>
                </Border>
            </Border>