windows phone (20) Image元素

原文:windows phone (20) Image元素

之前有说道wp目前支持的图片格式为png和jpeg ,我们可以通过设置Source属性设置图片源,下面要说的是Iamge元素的部分属性,这就是Stretch,Opacity【作者:神舟龙

Stretch属性

image的拉伸行为有此属性决定,此属性是一个枚举成员,有uniform,fill,uniformtofill,none;从网上找了一张图片进行测试 ,是jpg格式的,看看有什么不同吧;

xaml代码:

 <!--ContentPanel - 在此处放置其他内容-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Image x:Name="img" Source="psuCACFGYVT.jpg" ></Image>
        </Grid>

 实现的效果:

 

 此时属性:Stretch=“uniform”

说明:此时图片处于默认状态,图片会按照恰当的宽高比,同时拉伸到容器的大小,图片一般会水平或者垂直居中(这个取决于图片宽和高哪个长),uniform表示拉伸的程度上在横纵都相同,所以看不到图片有扭曲

 

xaml代码:

 <!--ContentPanel - 在此处放置其他内容-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Image x:Name="img" Source="psuCACFGYVT.jpg" Stretch="Fill"  ></Image>
        </Grid>

 实现的效果:

此时属性:Stretch=“Fill”

说明:设置此属性值表示图片填充整个容器,纵横防线方向的拉伸不同

 

xaml代码:

 <!--ContentPanel - 在此处放置其他内容-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Image x:Name="img" Source="psuCACFGYVT.jpg" Stretch="UniformToFill"  ></Image>
        </Grid>

 此时效果:

 

 此时属性:Stretch="UniformToFill"

 说明:设置此值表示在填充满容器的基础上,在纵横方向上保持了相同的拉伸程度,从而保证了宽高比;

 

xaml代码:

 <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Image x:Name="img" Source="psuCACFGYVT.jpg" Stretch="None"  ></Image>
        </Grid>

 效果:

 

此时属性: Stretch="None"

 说明:表示纵横都不拉伸



Opacity属性

 此属性可以设置图片的透明度,可以设置0~1的值对透明度进行控制,0为最暗,1为图片原来亮度

xaml代码:

<!--ContentPanel - 在此处放置其他内容-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Image x:Name="img" Source="psuCACFGYVT.jpg" VerticalAlignment="Top" Opacity="0.1" Height="260">
               
            </Image>
            <Image x:Name="img1" Source="psuCACFGYVT.jpg" VerticalAlignment="Bottom" Opacity="0.9" />
        </Grid>

 效果:

 

可以看到这两个图片的对比,就是简单的透明度问题,此外你会发现,上面的图片设置了高度,其相应的宽度也按照高宽比进行了缩小;这个属性就是这个,比较有意思的是这个属性OpacityMask

 

OpacityMask属性

此属性是Brush类型对象, 可以设置元素的某一部分逐渐消失

xaml代码:

 <!--ContentPanel - 在此处放置其他内容-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Image x:Name="img" Source="psuCACFGYVT.jpg"  VerticalAlignment="Top" Opacity="0.8" >
                <Image.OpacityMask>
                    <LinearGradientBrush>
                        <GradientStop Color="Wheat" Offset="0"></GradientStop>
                        <GradientStop Color="Wheat" Offset="0.5"></GradientStop>
                        <GradientStop Color="Transparent" Offset="1"></GradientStop>
                    </LinearGradientBrush>
                </Image.OpacityMask>
            </Image>
           
        </Grid>

 

 效果:

 

非常炫,话说这种效果处理照片的时候会用到

 

倒影效果实现

xaml代码:

<!--ContentPanel - 在此处放置其他内容-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Image x:Name="img1" VerticalAlignment="Top" Source="psuCACFGYVT.jpg"></Image>
            <Image x:Name="img2" Source="psuCACFGYVT.jpg"  VerticalAlignment="Top" RenderTransformOrigin="0.5 1"   >
                <Image.RenderTransform>
                    <ScaleTransform ScaleY="-1"></ScaleTransform>
                </Image.RenderTransform>
                <Image.OpacityMask>
                    <LinearGradientBrush StartPoint="0 0" EndPoint="0 1">
                        <GradientStop Offset="0" Color="#00000000"></GradientStop>
                        <GradientStop Offset="1" Color="#40000000"></GradientStop>
                    </LinearGradientBrush>
                </Image.OpacityMask>
            </Image>
        </Grid>
 

 实现的效果:


 

 从上面代码中可以看到,我们设置了两个图片,其位置完全相同,然后我们在第二张图片中重新定义了旋转中心RenderTransformOrigin="0.5 1",此点位置在第一张图片的底部位置,然后使用缩放属性ScaleY="-1" 这样就使图片发生了旋转,然后再在Y轴上从0到1设置逐渐消失的效果;虽然使用OpacityMask很炫,但是也不能随意使用,因为它会造成性能上的问题

 

 

 

时间: 2024-09-18 17:29:32

windows phone (20) Image元素的相关文章

windows phone (18) Border元素

原文:windows phone (18) Border元素  Border类是对某一个对象的周围边框,背景,或者同时绘制两者,首先看一个简单的例子进行分析[作者:神舟龍] xaml文件: <!--ContentPanel - 在此处放置其他内容-->        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">            <Bor

windows phone (21) Grid元素的Background和Clip

原文:windows phone (21) Grid元素的Background和Clip   Grid是唯一可以在内部定制单元格的panel类,我们可以在grid中定制单元格,然后通过grid.row和grid.column定位grid包含的元素在哪个位置,功能比较强大,用到的时候比较多,且看他的属性:[作者:神舟龙]   Background   获取或设置一个用于填充面板的 Brush所以我们可以对其背景进行绘制 ,比如下面的案例:      <!--ContentPanel - 在此处放置

背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换

原文:背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换 [源码下载] 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换 作者:webabcd 介绍背水一战 Windows 10 之 绑定 DataContextChanged - FrameworkElement 的 Data

与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器

原文:与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器 [索引页][源码下载] 与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器 作者:webabcd 介绍与众不同 windows phone 7.5 (sdk 7.1) 之设备 位置服务(GPS 定位) FM 收音机 麦克风 震动器 示例1.演示如何使用位置服务(GPS 定位

windows phone (24) Canvas元素A

原文:windows phone (24) Canvas元素A   Canvas元素表示定制一个区域,并可以通过相对坐标定义子元素位置,在一下情况下Canvas是不可见的   Height 属性等于 0. Width 属性等于 0. Opacity 属性等于 0. Canvas 的某个上级对象不可见. Background等于null Visiblity属性等于Collapsed  下面是一个的示例是一个绘制奥运五环旗的效果 xaml主要代码:  <!--ContentPanel - 在此处放置

windows phone (22) 隐藏元素

原文:windows phone (22) 隐藏元素 在wp中我们也会用到隐藏某个元素,已达到某种效果,刚刚从文章看到了,分享一下[作者:神舟龙] Visibility 此属性能非常方便的实现隐藏某个元素,但是visibility属性不是boolean类型,他是visibility类型,并包含两个visible和collapsed两个成员的枚举类型: 其中默认状态下是visible即显示,当设置为collapsed时,元素大小就会变成0,并且当设置为collapsed是,该属性所属的元素不参与事

Windows XP 20个超级技巧大放送

Windows XP作为面向用户的操作系统,正在得到广泛的应用.不过,XP系统中的一些技巧却还有很多不被人所知,今天,笔者就来和大家一起学习学习这些技巧. 安装篇: 笔者最烦的就是装系统,特别是装Windows XP时候在30多分钟内要一直盯着屏幕,而需要做的只是过一段时间输入几个字符.点几下鼠标,为了摆脱着"看门人"的角色,笔者经过搜索最终找到了解决办法,那就是适合个人需求的无人职守安装方法. 1硬盘安装 1).在纯 DOS 下用 format A:/s 命令格式化一张软盘. 2).

与众不同windows phone (20)

Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器 介绍 与众不同 windows phone 7.5 (sdk 7.1) 之设备 位置服务(GPS 定位) FM 收音机 麦克风 震动器 示例 1.演示如何使用位置服务(GPS 定位) GpsDemo.xaml <phone:PhoneApplicationPage x:Class="Demo.Device.GpsDemo" xmlns="http://schemas.microsoft.

保护内网安全之Windows工作站安全基线开发(一)

本文讲的是保护内网安全之Windows工作站安全基线开发(一),保护Windows工作站免受现代的网络攻击威胁是一件非常具有挑战性的事情. 似乎每个星期攻击者们总有一些新的方法用来入侵系统并获取用户凭据. 创建一个非常安全的Windows工作站的最佳方法是下载Microsoft安全合规管理器(当前版本为4.0),并在要为其创建安全基线GPO的操作系统版本下选择"安全合规"选项. 查看选项,根据需要进行更改,并导出为GPO备份(文件夹). 创建新的并且为空的GPO然后从SCM GPO备份