10.7 MatrixTransform矩阵变换(组图)

This item was filled under [ 新闻News ]

 10.7 MatrixTransform矩阵变换 

  矩阵变换MatrixTransform是所有变换对象中功能最强大最灵活也是最复杂的一种变换,前面讲解的几种简单变换如果不能满足实际开发中的需求,可以使用矩阵变换进行自定义,它允许我们直接对变换矩阵进行操作。

  在Silverlight中,变换是提供一个3×3的矩阵,通过修改矩阵中成员的值来实现变换,矩阵的定义如图10-11所示。

 

(点击查看大图)图10-11

  该矩阵的最后一列值是固定的,不会改变,如果修改矩阵中OffsetX的值,元素将会在X轴上进行移动;修改OffsetY,元素将在Y轴上移动;修改M22为2,元素的高度将会拉伸2倍,通过修改该矩阵,能实现前面提到的几种简单变换的所有功能,事实上前几种简单变换只是矩阵变换的特例而已,单独使用MatrixTransform对象,可以实现所有的变换。如下面的示例代码所示: 

  XAML<Canvasx:Name=”LayoutRoot”Background=”White”><TextBlockText=”欢迎进入Silverlight世界”Canvas.Top=”30″Canvas.center=”30″Opacity=”0.5″></TextBlock>

  <TextBlockText=”欢迎进入Silverlight世界”Canvas.Top=”30″Canvas.center=”30″Foreground=”OrangeRed”><TextBlock.RenderTransform><MatrixTransform><MatrixTransform.Matrix><MatrixM11=”1″M12=”0.3″M21=”0.3″M22=”0.8″OffsetX=”10″OffsetY=”20″/></MatrixTransform.Matrix></MatrixTransform></TextBlock.RenderTransform></TextBlock></Canvas>

  运行效果如图10-12所示。

 

(点击查看大图)图10-12

喜欢这篇文章的人还喜欢。。。

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Comment

Anti-spam text: (Required) *
To prove you're a person (not a spam script), type the security text shown in the picture. Click here to regenerate some new text. Click to hear an audio file of the anti-spam word