Matrix 结构
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示用于在二维空间中进行转换的 3x3 仿射转换矩阵。
public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
public struct Matrix : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
[<System.Serializable>]
type Matrix = struct
interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
type Matrix = struct
interface IFormattable
Public Structure Matrix
Implements IFormattable
- 继承
- 属性
- 实现
注解
3x3 矩阵用于二维 x-y 平面中的转换。 仿射转换矩阵可以相乘,以形成任意数量的线性转换,比如旋转和倾斜(扭曲)并随之转换。 相交转换矩阵的最终列等于 (0、0、1) ,因此只需指定前两列中的成员。 请注意,向量表示为行向量,而不是列向量。
WPF Matrix 使用行主顺序存储,并具有以下结构:
M11 | M12 | 0 |
M21 | M22 | 0 |
OffsetX | OffsetY | 1 |
最后一行中的成员, OffsetX 并 OffsetY表示转换值。
在方法和属性中,转换矩阵通常指定为只有六个成员的向量,如下所示:
(M11, M12, M21, M22, OffsetX, OffsetY)
虽然可以直接使用Matrix结构来转换单个点,也可以使用一个MatrixTransform转换对象,但 WPF 还提供了一组类,使你可以转换对象,而无需直接处理矩阵:RotateTransform、ScaleTransform和SkewTransformTranslateTransform。
XAML 属性用法
<object property="m11, m12, m21, m22, offsetX, offsetY"/>
- or -
<object property="Identity"/>
XAML 值
m11
System.Double
第一行和第一列中 Matrix的值。 有关更多信息,请参见 M11 属性。
m12
System.Double
第一行和第二列中的值。 有关更多信息,请参见 M12 属性。
m21
System.Double
第二行和第一列中的值。 有关更多信息,请参见 M21 属性。
m22
System.Double
第二行和第二列中的值。 有关更多信息,请参见 M22 属性。
offsetX
System.Double
第三行和第一列中的值。 有关更多信息,请参见 OffsetX 属性。
offsetY
System.Double
第三行和第二列中的值。 有关更多信息,请参见 OffsetY 属性。
构造函数
Matrix(Double, Double, Double, Double, Double, Double) |
初始化 Matrix 结构的新实例。 |
属性
Determinant |
获取此 Matrix 结构的行列式。 |
HasInverse |
获取一个值,该值指示此 Matrix 结构是否可以反转。 |
Identity |
获取一个恒等 Matrix。 |
IsIdentity |
获取一个值,该值指示此 Matrix 结构是否为恒等矩阵。 |
M11 |
获取或设置此 Matrix 结构中第一行与第一列相交处的值。 |
M12 |
获取或设置此 Matrix 结构中第一行与第二列相交处的值。 |
M21 |
获取或设置此 Matrix 结构中第二行与第一列相交处的值。 |
M22 |
获取或设置此 Matrix 结构中第二行与第二列相交处的值。 |
OffsetX |
获取或设置此 Matrix 结构中第三行与第一列相交处的值。 |
OffsetY |
获取或设置此 Matrix 结构中第三行与第二列相交处的值。 |
方法
运算符
Equality(Matrix, Matrix) |
确定两个指定的 Matrix 结构是否相同。 |
Inequality(Matrix, Matrix) |
确定两个指定的 Matrix 结构是否不同。 |
Multiply(Matrix, Matrix) |
显式接口实现
IFormattable.ToString(String, IFormatProvider) |
使用指定格式对当前实例的值设置格式。 |