矩阵变换
矩阵对象表示 3 ×3 矩阵,该矩阵又表示仿射转换。
矩阵对象在 3 ×3 矩阵中仅存储 9 个小数值中的 6 个,因为表示仿射变换的所有 3 ×3 矩阵都具有相同的第三列 (0、0、1) 。 [1] m11 指定第一行、第一列中元素的实数-水平缩放分量或旋转角度的余弦值。 [2] m12 指定第一行、第二列中的元素的实数-水平剪切分量或旋转角度的正弦值。 [3] m21 指定第二行、第一列中的元素的实数 - 垂直剪切分量或旋转角度的负正弦值。 [4] m22 指定第二行、第二列中元素的实数-垂直缩放分量或旋转角度的余弦值。 [5] dx 指定第三行、第一列(水平平移组件)中的元素的实数。 [6] dy 指定第三行、第二列中的元素的实数-垂直转换组件。中文名称 | 英文名称 | 示例 | 作用 |
矩阵创建 | GdipCreateMatrix | 矩阵创建(@矩阵) | 创建并初始化矩阵对象。 |
矩阵新建 | GdipCreateMatrix2 | 矩阵新建(m11,m12,m21,m22,dx,dy,@矩阵) | 基于定义仿射转换的六个数字创建并初始化矩阵对象。 |
矩阵建立 | GdipCreateMatrix3 | 矩阵建立(矩形,点,@矩阵) | 基于小数值的矩形和点创建矩阵对象。 |
矩阵建设 | GdipCreateMatrix3I | 矩阵建设(矩形,点,@矩阵) | 基于整数值的矩形和点创建矩阵对象。 |
矩阵克隆 | GdipCloneMatrix | 矩阵克隆(矩阵,@新矩阵) | 创建一个新的矩阵对象副本。 |
矩阵删除 | GdipDeleteMatrix | 矩阵删除(矩阵) | 清理矩阵对象使用的资源。 |
矩阵修改 | GdipSetMatrixElements | 矩阵修改(矩阵,m11,m12,m21,m22,dx,dy) | 设置此矩阵的元素。 |
矩阵相乘 | GdipMultiplyMatrix | 矩阵相乘(矩阵,矩阵2,顺序) | 使用自身和另一个矩阵的乘积更新此矩阵。乘法顺序:0新矩阵在左侧,1在右侧 |
矩阵转换 | GdipTranslateMatrix | 矩阵转换(矩阵,矩阵2,顺序) | 使用自身乘积和转换矩阵更新此矩阵。乘法顺序:0新矩阵在左侧,1在右侧 |
矩阵缩放 | GdipScaleMatrix | 矩阵缩放(矩阵,横缩,纵缩,顺序) | 使用自身和缩放矩阵的乘积更新此矩阵。乘法顺序:0新矩阵在左侧,1在右侧 |
矩阵旋转 | GdipRotateMatrix | 矩阵旋转(矩阵,角度,顺序) | 使用自身乘积和旋转矩阵更新此矩阵。乘法顺序:0新矩阵在左侧,1在右侧 |
矩阵剪切 | GdipShearMatrix | 矩阵剪切(矩阵,平剪,直剪,顺序) | 使用自身乘积和剪切矩阵更新此矩阵。乘法顺序:0新矩阵在左侧,1在右侧 |
矩阵反转 | GdipInvertMatrix | 矩阵反转(矩阵) | 将此矩阵的元素替换为其逆矩阵的元素。 |
矩乘点组 | GdipTransformMatrixPoints | 矩乘点组(矩阵,点组,数量) | 将小数值数组中的每个点乘以此矩阵。每个点为一行。相乘时行矩阵在左侧,此矩阵在右侧。 |
矩乘点阵 | GdipTransformMatrixPointsI | 矩乘点阵(矩阵,点组,数量) | 将整数值数组中的每个点乘以此矩阵。每个点为一行。相乘时行矩阵在左侧,此矩阵在右侧。 |
矩乘向量 | GdipVectorTransformMatrixPoints | 矩乘向量(矩阵,点组,数量) | 将小数值数组中的每个向量乘以此矩阵。每个向量为一行。忽略第三行转换元素。 |
矩乘矢量 | GdipVectorTransformMatrixPointsI | 矩乘矢量(矩阵,点组,数量) | 将整数值数组中的每个向量乘以此矩阵。每个向量为一行。忽略第三行转换元素。 |
矩阵元素 | GdipGetMatrixElements | 矩阵元素(矩阵,@点组) | 获取此矩阵的元素。按 m11、m12、m21、m22、m31、m32 的顺序放置在数组中 |
矩阵可逆 | GdipIsMatrixInvertible | 矩阵可逆(矩阵,@是否) | 确定此矩阵是否不可逆。返回真是不可逆 |
矩阵标识 | GdipIsMatrixIdentity | 矩阵标识(矩阵,@是否) | 确定此矩阵是否为标识矩阵。 |
矩阵相等 | GdipIsMatrixEqual | 矩阵相等(矩阵,矩阵2,@是否) | 确定此矩阵的元素是否等于另一个矩阵的元素。 |