矩阵变换的公式是:
其中M11,M12,M21,M22和OffsetX,OffsetY的含义呢?
1. 平移变换:
平移变换的变换矩阵为: Tm= ,对应的Matrix定义为 Matrix m = new Matrix(1,0,0,1,Mx,My);
其中Mx是水平方向移动的距离,My是垂直方向的距离,向左负向右正,向下负向上正。
2. 缩放变换
平移变换的变换矩阵为: Ts= ,对应的Matrix定义为 Matrix s = new Matrix(Sx,0,0,Sy,0,0);
其中Sx是水平方向上缩放的比例,Sy是竖直方向上缩放的比例,大小1是放大,小于1是缩小,不能小于0。
3. 旋转变换
旋转变换的变换矩阵为: Tr=,对应的Matrix定义为Matrix r = new Matrix(cos,sin,-sin,cos,0,0);
其中sin,cos均为三角函数,为以原点旋转的角度数。
如果要综合运用,只要将矩阵相乘就可以了。
参考资料:
[转]WPF中的MatrixTransform 里面有一个Demo,可以很形象的理解这几个参数。
MatrixTransform之相关矩阵运算 可以复习一下矩阵运算的知识。
二维几何图形变换及其GDI+实现 具体编程。