zoukankan      html  css  js  c++  java
  • WFP之位图效果

    首先看一个图片:

     
    在“第一步”这个按钮周围,有一转红色,这个效果就是用WPF的位图效果实现的。
    位图效果(BitmapEffect 对象)是简单的像素处理操作。位图效果将 BitmapSource 作为输入并在应用效果(如模糊或投影)之后生成新的 BitmapSource。每个位图效果都公开了控制筛选属性的属性,如 BlurBitmapEffect  Radius。(摘录MSDN
    从上面的MSDN中看出一种效果的处理,主要有如果几种位图效果:
    发光效果,投影效果,模糊效果,凹凸效果,浮雕效果五种,今天的例子中应用到两种效果,一个是发光效果,一个是投影效果。下面先看一下这个例子的XAML代码:
    1<Window.Resources>        

    3 <Style TargetType="{x:Type Button}"> 

    5            <Style.Triggers> 

    7                            <Trigger Property="IsFocused" Value="True"> 

    9                                                        <Setter Property = "BitmapEffect" > 
    10 
    11                                                                     <Setter.Value> 
    12 
    13                                                                                    <OuterGlowBitmapEffect GlowColor="Red" GlowSize="20" Noise="20" 
    14 
    15                                                                                                 Opacity="0.3" /> 
    16 
    17                                                                     </Setter.Value> 
    18 
    19                                                        </Setter> 
    20 
    21                                         </Trigger
    22 
    23                            <Trigger Property="IsPressed" Value="true"> 
    24 
    25                    <Setter Property = "BitmapEffect" > 
    26 
    27                        <Setter.Value> 
    28 
    29                            <DropShadowBitmapEffect Color="Blue" Direction="320"    
    30 
    31                             ShadowDepth="20" Softness="1" Opacity="0.5"/> 
    32 
    33                        </Setter.Value> 
    34 
    35                    </Setter>                
    36 
    37                             </Trigger>    
    38 
    39                            </Style.Triggers> 
    40 
    41             </Style>                
    42 
    43</Window.Resources> 
    44
     
    这是例子中摘出来的关键呈现位图效果的代码,其中OuterGlowBitmapEffect标签是实现发光的效果,DropShadowBitmapEffect是实现投影效果。下面具体看一下。
    发光效果:
    <OuterGlowBitmapEffect GlowColor="Red" GlowSize="20" Noise="20"   Opacity="0.3" />
    GlowColor="Red"是设置发光的颜色
    GlowSize="20",是发光的边缘的大小,其类型为Double,如果不设置,默认值是20,它的值的范围是从 1  199。单位是与设备无关的单位(每个单位 1/96 英寸)为度量单位
    Noise="1",是发光的边缘是来为杂点,0为没有杂点,1为最大限度杂点,其类型为Double,取值范围是01
    Opacity="0.3",是透明度,这个属性很通用,类型为Double,取值范围是01
    投影效果:
    <DropShadowBitmapEffect Color="Blue" Direction="320"     ShadowDepth="20" Softness="1" Opacity="0.5"/>
    Color="Blue"是设置投影的颜色
    Direction="320",是投影的角度,是Double类型,角度是以逆时针方式增加
    ShadowDepth="20",类型是Double,投影平面与阴影平面之间的距离,单位是与设备无关的单位(每个单位 1/96 英寸)为度量单位。值的有效范围从 0  300。默认值为 5
    Softness="1",阴影的柔和度。值的有效范围从 0  1。默认值为 0.5
    Opacity="0.5",是透明度,这个属性很通用,类型为Double,取值范围是01
    本例中的其他效果不在这里多说了!
    本例的代码文件:
    Effectsdemo例子
    其他位图效果雷同,可参数MSDN学习。















    本文转自桂素伟51CTO博客,原文链接:http://blog.51cto.com/axzxs/150004 ,如需转载请自行联系原作者

  • 相关阅读:
    为什么使用enable_shared_from_this——shared_ptr两类错误
    More Effective C++ Item14:明智运用exception specifications
    用“双优先队列”方法解决双/多指标的规划问题
    彻底理解AC多模式匹配算法
    CentOS7安装MySQL
    CentOS7配置本地Yum源
    数组
    比较运算符
    申明变量
    相等运算符==与等同运算符===
  • 原文地址:https://www.cnblogs.com/twodog/p/12138601.html
Copyright © 2011-2022 走看看