Silverlight开发工具对于图片的处理,是一个非常有用的操作技巧。对于初学者来说,需要牢固掌握这方面的各种处理应用技巧,以此来方便将来的灵活使用,提高编程开发效率。#t#
当我们创建了一个图片的时候,如果不指定它的宽度和高度,它将会使用默认的规格来显示;如果指定了高和宽,图片将显示在指定高和宽的矩形区域内。可以通过苏醒Stretch来指定图片如何填充在该区域内,即Silverlight图片放大。
Stretch属性具有四个可选值:
None:不对图片进行拉伸以便填充规定的尺寸。
Uniform:按比例进行拉伸,直到有一边满足规定的尺寸区域为止,其余部分不会被填充,按最小尺寸填充。
UniformToFill:按比例进行拉伸,直到完全填充规定的尺寸区域为止,超出该区域的将会被裁剪,按最大尺寸填充。
Fill:不按比例拉伸,完全填充规定的尺寸区域,将会破坏图像的比例。
Stretch默认的属性是Uniform,为了更直观的看到这个四个值的区别,下面看一个例子,我们使用一个规格尺寸为160*90图片,中间带一个小的正方形:
在页面上放置四个Border控件,大小为220*220,并在其中各放置一个Image,Silverlight图片放大的大小也定义为220*220,设置四个Image的Stretch属性分别为None、Uniform、UniformToFill、Fill,如下所示:
- < Canvas Background="#CDFCAE">
- < Border BorderBrush="Black"
BorderThickness="3"- Width="220" Height="220" Canvas.Left="40"
Canvas.Top="50">- < Image Source="a2.png" Stretch="None"
Width="220" Height="220">< /Image>- < /Border>
- < Border BorderBrush="Black"
BorderThickness="3"- Width="220" Height="220" Canvas.Left="330"
Canvas.Top="50">- < Image Source="a2.png" Stretch="Uniform"
Width="220" Height="220">< /Image>- < /Border>
- < Border BorderBrush="Black"
BorderThickness="3"- Width="220" Height="220" Canvas.Left="330"
Canvas.Top="330">- < Image Source="a2.png"
Stretch="UniformToFill" Width="220"
Height="220">< /Image>- < /Border>
- < Border BorderBrush="Black"
BorderThickness="3"- Width="220" Height="220" Canvas.Left="40"
Canvas.Top="330">- < Image Source="a2.png" Stretch="Fill"
Width="220" Height="220">< /Image>- < /Border>
- < /Canvas>
Silverlight图片放大的相关实现方法就为大家介绍到这里,希望有些帮助。