Silverlight图形学习笔记(六): 图像处理

<UserControl x:Class="ImageDemo.MainPage"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d
="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc
="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable
="d"
d:DesignHeight
="300" d:DesignWidth="400" FontFamily="Comic Sans MS">

<!--
图像处理
(一)裁切图像
(1)可以通过使用 Clip 属性裁切掉图像输出的某个区域来裁切图像
(二)透明遮罩
OpacityMask(透明遮罩):获取或设置用于改变此对象区域的不透明度的画笔。根据渐变画刷的范围产生渐变透明效果
(三)使用mageBrush 来使用图像绘制采用画笔的区域
(四)DeepZoom:实现对大型图像或高分辨率图像的集合的缩放和平移
(1)探究非常大或高分辨率图像
(2)三维摄影:拍摄某一房间的照片,连续拍摄将创建构成该房间的 360 度画面的照片的集合
(3)广告:您可以创建分辨率相对较低的图像以表达广告的整个主题,然后,逐渐增加更高分辨率的图像以容纳加深用户印象的效果以及与产品有关的数据。
(五)WriteableBitmap:使用 WriteableBitmap 类基于每个框架来更新和呈现位图
-->
<Grid x:Name="LayoutRoot" Background="White">
<StackPanel>
<!--裁剪-->
<Image Width="200" Height="150" Source="/ImageDemo;component/WelcomeScan.jpg">
<Image.Clip>
<EllipseGeometry RadiusX="100" RadiusY="75" Center="100,75"/>
</Image.Clip>
</Image>
<!--透明遮罩(另一种裁剪方法)-->
<Image Source="/ImageDemo;component/WelcomeScan.jpg" Stretch="None" Width="400" Height="200">
<Image.OpacityMask >
<!--使用放射性渐变画刷-->
<RadialGradientBrush Center="200,100" GradientOrigin="200,100" MappingMode="Absolute" RadiusX="200" RadiusY="100">
<GradientStop Color="#00000000" Offset="1" />
<GradientStop Color="#FF000000" Offset="0" />
</RadialGradientBrush>
</Image.OpacityMask>
</Image>

<!--
使用mageBrush 来使用图像绘制采用画笔的区域
ImageBrush 可用于 Canvas 或 InkPresenter 的 Background 属性的值
下面的 XAML 示例显示如何将 Foreground 属性设置为 ImageBrush,其图像将用作 TextBlock 呈现文本的填充。
-->
<TextBlock FontFamily="Verdana" FontSize="72" HorizontalAlignment="Center" FontStyle="Normal" FontWeight="Bold" Text="Sililverlight图像学习">
<TextBlock.Foreground>
<ImageBrush ImageSource="/ImageDemo;component/WelcomeScan.jpg"/>
</TextBlock.Foreground>
</TextBlock>
</StackPanel>
</Grid>

</UserControl>


在线演示

posted @ 2011-05-29 23:19  焦涛  阅读(369)  评论(0)    收藏  举报