C# Matrix类

  • Post author:
  • Post category:其他


Matrix类和图形的平移、变形、旋转

本节介绍使用Matrix类实现图形的平移、变形、旋转。

5.8.1 Matrix类

Matrix类封装了表示几何变形的3行3列仿射矩阵,可以记录图形的平移、变形、旋转等操作。主要包括如下方法:

l 构造函数Matrix():创建一个空Matrix类对象。

l 方法Rotate:在Matrix类对象中增加相对于原点顺时针旋转指定角度的操作。参数指定旋转角度。

l 方法RotateAt:在Matrix类对象中增加相对于指定点顺时针旋转指定角度的操作。参数1指定旋转角度。参数2指定相应的点。

l 方法Scale:在X轴或Y轴方向对图形放大或缩小。参数1指定在X轴方向缩放的值,参数2指定在Y轴方向缩放的值。

l 方法Translate:使图形在X轴或Y轴方向移动。参数1指定在X轴方向移动的值,参数2指定在Y轴方向移动的值。

例子5_8_1:下面的示例创建了复合变形(先旋转30度,再在y方向上缩放2倍,然后在x方向平移5个单位)的Matrix类对象。注意变形得顺序非常重要。一般说来,先旋转、再缩放、然后平移,与先缩放、再旋转、然后平移是不同的。

Matrix myMatrix=new Matrix();

myMatrix.Rotate(30);

myMatrix.Scale(1,2,MatrixOrder.Append);

myMatrix.Translate(5,0,MatrixOrder.Append);



版权声明:本文为qi_1213原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。