,SkewTransform(扭曲),TranslateTransform(平移),和一自定义扩展MatrixTransform类,这些类都不可再继承。
首先来看看二维矩阵是怎么回事,
这个就是二维图形几何变换矩阵.
其中m11,m12,m21,m22是对图形进行缩放、旋转、对称、错切等变换,OffsetX ,OffsetY是对图形进行平移变换。
0,0是对图形做投影变换,Silverlight中不支持;1 是对整体图形做伸缩变换,Silverlight中也不支持;
原图不做任何变换的矩阵为:
在后面会经常用到这个矩阵。
1:平移变换
 
这样就可以将图像以X轴为方向移动50. 
这样就可以将图像以X轴为方向移动-50
图像以Y轴为方向移动50(-50同理)
可以看出OffsetX和OffsetY的方向和直角坐标系的方向相同。
2:比例变换(放大缩小)
修改M11和M22是分别对X轴和Y轴进行缩放。M11=M22时为等比例变换,M11!=M22时为非均匀比例变换。
M11是对Y轴起变换,M22是对X轴起变换。
3:对称变换
当-M11=M22时,是以Y轴对称
当M11=-M22时,是以X轴对称
当-M11=-M22时,为中心对称
4:旋转变换
下面是旋转30°的变化矩阵。其他角度也都是这个计算式。
5:切错变换
M12,M21是用来控制切错变换的。
M12=0,M21!=0时,Y轴坐标不变,X坐标随初值及变换系数M21做线性变化,M21>0沿+X方向切错,M21<0沿-X方向切错。
M21=0,M12!=0时,X轴坐标不变,Y坐标随初值及变换系数M12做线性变化,M12>0沿+Y方向切错,M12<0沿-Y方向切错。
M12!=0且M21!=0时,图形沿XY两个方向切错。
最新评论