Silverlight2 边学边练 之二 图形变换

简介:

书一直在看,可似乎文章一篇也没写,今天得赶快把作业补上。
本篇主要针对图形变换进行操练,其中涉及到图形旋转和不透明蒙板相关知识。
最后通过这两种技术完成一个倒影的实例。

首先,先看看旋转操作,将一个长方体以其中心为原点顺时针旋转30度。

<Canvas>
   <Rectangle Width="80" Height="10" Stroke="Blue" Fill="Yellow" 
              Canvas.Left="100" Canvas.Top="100" RenderTransformOrigin="0.5,0.5">
      <Rectangle.RenderTransform>
           <RotateTransform Angle="30" />
      </Rectangle.RenderTransform>
   </Rectangle>
</Canvas>

 

效果图:
rotate

其次,将一个按键进行不透明处理。

<Canvas>
    <Button FontSize="24" FontWeight="Bold" Content="This is Transparent Button">
        <Button.OpacityMask>
             <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
                  <GradientStop Offset="0" Color="Transparent"></GradientStop>
                  <GradientStop Offset="0.8" Color="Black"></GradientStop>
             </LinearGradientBrush>
        </Button.OpacityMask>
    </Button>
</Canvas>

 

效果图:
transparent 

 

最后,进行倒影效果处理,可通过对RenderTransformOriginScaleY的参数调整来理解图形变换的方式。

<Grid x:Name="LayoutRoot" Background="White">
        <!--创建两行Grid-->
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        <!--原始图片放在第一行-->
        <Image Grid.Row="0" Source="silverlight.jpg"></Image>
        <!--倒影图片放在第二行,变换原点设为:"0.5,0.48"-->
        <Image Grid.Row="1" Source="silverlight.jpg" RenderTransformOrigin="0.5,0.48">
            <!--将倒影图片在Y轴上以“-1”比例缩放,达到反转效果-->
            <Image.RenderTransform>
                <ScaleTransform ScaleY="-1"></ScaleTransform>
            </Image.RenderTransform>
            <!--最后为倒影图片增加一个线性不透明蒙板-->
            <Image.OpacityMask>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                    <GradientStop Offset="0" Color="Transparent"></GradientStop>
                    <GradientStop Offset="1" Color="#80000000"></GradientStop>
                </LinearGradientBrush>
            </Image.OpacityMask>
        </Image>
</Grid>
 

效果图:
refect
参考自《Pro Silverlight2 in C# 2008》CHAPTER 8 ■ BRUSHES AND TRANSFORMS
洗洗睡了,今晚天气真是够闷的~~





本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2009/07/21/silverlight2-learning-transform.html,如需转载请自行联系原作者

相关文章
|
6月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
303 3
|
9月前
|
算法 数据可视化 vr&ar
【图形学】探秘图形学奥秘:图形变换的解密与实战
【图形学】探秘图形学奥秘:图形变换的解密与实战
107 0
|
存储 编解码 API
游戏编程之四 diectxdarw基础篇
游戏编程之四 diectxdarw基础篇
90 0
|
API 图形学 C++
【Unity趣味编程】——c++实现小球的自由移动
【Unity趣味编程】——c++实现小球的自由移动
146 0
|
数据可视化 前端开发 安全
头疼数学图表?CMU学霸开源「玫瑰笔」,让你一键绘图自由
数学可能是最抽象的学科了。虽然有很多可视化工具,但实际使用过程中却存在学习门槛高、画图流程长等问题,一个简单的公式用画图工具可能需要做很久。为了解决这个问题,来自CMU和Technion的一组研究人员推出了Penrose,它可以将复杂的数学符号转换为各种风格的简单图表,引发社区热议。
251 0
头疼数学图表?CMU学霸开源「玫瑰笔」,让你一键绘图自由
|
iOS开发
iOS动画开发之五——炫酷的粒子效果(二)
iOS动画开发之五——炫酷的粒子效果
352 0
iOS动画开发之五——炫酷的粒子效果(二)
|
iOS开发
iOS动画开发之五——炫酷的粒子效果(一)
iOS动画开发之五——炫酷的粒子效果
393 0
|
算法 数据可视化 Linux
开扒 SpaceX 飞船技术栈,程序员搞了个 3D 版飞船生成器过瘾
在经历了 十几个小时的飞行后,SpaceX 的载人龙飞船与国际空间站成功对接,国际空间站迎来第一艘商业载人飞船的到访,其背后的技术栈也引起了开发人员的关注,甚至有程序员搞起了 3D 版飞船生成器。

热门文章

最新文章