Windows Phone应用开发强化训练:滤罩层可以这样做

我先不说什么,给大家看一个截图。

 

呵呵,这是一个灰常低水准的滤罩效果,如果你觉得有意思,我贴出XAML来。

    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Image Source="/lan.jpg" Stretch="Uniform" Canvas.ZIndex="0"/>
        <Rectangle Canvas.ZIndex="1" Fill="Black" Opacity="0.7"/>
        <Image x:Name="myImg" Stretch="Uniform" Source="/lan.jpg" Canvas.ZIndex="2">
            <Image.Clip>
                <GeometryGroup>
                    <EllipseGeometry Center="100,129" RadiusX="80" RadiusY="80"/>
                    <EllipseGeometry Center="280,380" RadiusX="60" RadiusY="60"/>
                    <EllipseGeometry Center="410,520" RadiusX="65" RadiusY="65"/>
                    <EllipseGeometry Center="325,36" RadiusX="60" RadiusY="60"/>
                    <EllipseGeometry Center="125,611" RadiusX="50" RadiusY="50"/>
                    <EllipseGeometry Center="62,395" RadiusX="75" RadiusY="75"/>
                </GeometryGroup>
            </Image.Clip>
        </Image>
    </Grid>


上面的码子很简单了,其实,核心就是充分利用了UIElement的Clip,是的,你把它用好了,会弄出不少好玩的东东来的。

 

说说大致的原理。

其实我是用了两个Image,最下面一层的图片不进行Clip而上再盖一个Rectangle,这个矩把透明度稍稍调一下,这样看起来,下面的图片会变暗。然后在最上层再放一个Image控件,这个控件就采用了Clip,于是,几个元素重叠起来就看到了滤罩效果。

如果你把下面的Image和矩形隐藏了,你就知道其中的玄机了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值