首页 > 代码库 > WP8.1 UI 编程 六、变换特效和三维特效

WP8.1 UI 编程 六、变换特效和三维特效

1. 变换特效

 变换原理:是二维变换矩阵

M11  M12  0

M21  M22  0

OffsetX OffsetY  1

WP只支持仿射变换,因此矩阵右边是0、0、1。

(x,y,1)乘矩阵得到(x1,y1,1),新坐标为(x1,y1)。

即:坐标(x,y)经矩阵变换后,新坐标为(x*M11 + y*M21 + OffsetX,x*M12 + y*M22 + OffsetY)。

 

WP提供了很多Transform类以变换对象,只需应用到UIElement的RenderTransform属性即可。

列出成员:

TranslateTransform:平移变换,由X和Y属性确定。

RotateTransform:旋转变换,旋转中心(CenterX,CenterY),角度Angle。

ScaleTransform:缩放变换,Scalex和Scaley是对原始宽高的拉伸倍数,Centerx和Centery为中心点坐标,默认为(0,0)。

SkewTransform:扭曲变换,Centerx和Centery为中心点坐标,Anglex和Angley是扭曲角度,具体一言两语很难讲清楚。

MatrixTransform:通过矩阵算法进行更复杂的变换,上面的简单变换其实也是这样实现的。

TransformGroup:将不同变换效果组合。

 

2. 三维特效

相比二维的变换特效,三维特效增加一个维度z,指深度,通过4行4列矩阵进行变换,原理类似。

 

WP8.1 UI 编程 六、变换特效和三维特效