首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF XAML -图像玻璃化效应

WPF XAML -图像玻璃化效应
EN

Stack Overflow用户
提问于 2013-08-20 12:11:08
回答 2查看 3.1K关注 0票数 0

是否有可能创建一个像这个例子中包含的缩略图一样的图像的玻璃显示(例如,带有Gordon图像的缩略图对于我想要重新创建的图像有一个很好的蓝色玻璃效果)?

你知道我该怎么处理它吗?DropShadowBitmapEffect和

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-20 12:48:09

它看起来像Brush of Border是一个浅蓝灰色的SolidColorBrush,可能有一个相同颜色的Background。我认为“玻璃”或“褪色边缘”效应是用OpacityMaskImage上完成的。

您可以从MSDN的OpacityMask页面了解有关使用不透明掩模概述的更多信息。

票数 3
EN

Stack Overflow用户

发布于 2013-08-20 12:50:45

感谢您的建议(背景图像的imageSource以编程方式在C#中设置并工作),我就是这样编写它的:

代码语言:javascript
复制
<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>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18334706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档