Matrix Matrix Matrix Matrix Struct

Определение

Представляет матрицу аффинного преобразования 3 x 3, используемую для преобразований в двумерном пространстве.Represents a 3x3 affine transformation matrix used for transformations in 2-D space.

public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
type Matrix = struct
    interface IFormattable
Public Structure Matrix
Implements IFormattable
Наследование
Атрибуты
Реализации

Комментарии

Матрица 3 x 3, используемую для преобразований в Двумерный2-D плоскости x-y.A 3x3 matrix is used for transformations in a Двумерный2-D x-y plane. Для получения любого числа линейных преобразований, таких как поворот и отклонение (сдвиг), следуют перевода умножается аффинного преобразования матрицы.Affine transformation matrices can be multiplied to form any number of linear transformations, such as rotation and skew (shear), followed by translation. Матрицу аффинного преобразования имеет последний столбец, равным (0, 0, 1), так что только члены в первые два столбца нужно указать.An affine transformation matrix has its final column equal to (0, 0, 1), so only the members in the first two columns need to be specified. Обратите внимание, что векторы представляют собой строки, а не столбцом.Note that vectors are expressed as row-vectors, not column vectors.

Объект WPFWPF Matrix хранится с использованием по строкам и имеет следующую структуру:A WPFWPF Matrix is stored using row-major order and has the following structure:

M11 M12 00
M21 M22 00
OffsetX OffsetY 11

Элементы в последней строке OffsetX и OffsetY, представляют значения смещения.The members in the last row, OffsetX and OffsetY, represent translation values.

В методы и свойства матрица преобразования обычно указывается как вектор, имеющий только шесть членов следующим образом:In methods and properties, the transformation matrix is usually specified as a vector with only six members, as follows:

(M11, M12, M21, M22, OffsetX, OffsetY)(M11, M12, M21, M22, OffsetX, OffsetY)

Несмотря на то, что можно использовать Matrix структуры непосредственно для перевода отдельных точек или с MatrixTransform для преобразования объектов, WPFWPF также предоставляет набор классов, которые позволяют преобразовывать объекты без работы непосредственно с матрицами: RotateTransform, ScaleTransform, SkewTransform, и TranslateTransform.Although you can use a Matrix structure directly to translate individual points, or with a MatrixTransform to transform objects, WPFWPF also provides a set of classes that enable you to transform objects without working directly with matrices: RotateTransform, ScaleTransform, SkewTransform, and TranslateTransform.

Использование атрибута XAMLXAML Attribute Usage

<object property="m11, m12, m21, m22, offsetX, offsetY"/>  
- or -  
<object property="Identity"/>  

Значения XAMLXAML Values

m11m11
System.Double

Значение в первой строке и первом столбце этой Matrix.The value in the first row and first column of this Matrix. Дополнительные сведения см. в описании свойства M11.For more information, see the M11 property.

m12m12
System.Double

Значение в первой строке и втором столбце.The value in the first row and second column. Дополнительные сведения см. в описании свойства M12.For more information, see the M12 property.

m21m21
System.Double

Значение во второй строке и первом столбце.The value in the second row and first column. Дополнительные сведения см. в описании свойства M21.For more information, see the M21 property.

m22m22
System.Double

Значение во второй строке и втором столбце.The value in the second row and second column. Дополнительные сведения см. в описании свойства M22.For more information, see the M22 property.

offsetXoffsetX
System.Double

Значение в третьей строке и первом столбце.The value in the third row and first column. Дополнительные сведения см. в описании свойства OffsetX.For more information, see the OffsetX property.

offsetYoffsetY
System.Double

Значение в третьей строке и втором столбце.The value in the third row and second column. Дополнительные сведения см. в описании свойства OffsetY.For more information, see the OffsetY property.

Конструкторы

Matrix(Double, Double, Double, Double, Double, Double) Matrix(Double, Double, Double, Double, Double, Double) Matrix(Double, Double, Double, Double, Double, Double) Matrix(Double, Double, Double, Double, Double, Double)

Инициализирует новый экземпляр структуры Matrix.Initializes a new instance of the Matrix structure.

Свойства

Determinant Determinant Determinant Determinant

Получает определитель этой структуры Matrix.Gets the determinant of this Matrix structure.

HasInverse HasInverse HasInverse HasInverse

Получает значение, указывающее, является ли эта структура Matrix обратимой.Gets a value that indicates whether this Matrix structure is invertible.

Identity Identity Identity Identity

Получает единичную Matrix.Gets an identity Matrix.

IsIdentity IsIdentity IsIdentity IsIdentity

Получает значение, указывающее, является ли эта структура Matrix единичной матрицей.Gets a value that indicates whether this Matrix structure is an identity matrix.

M11 M11 M11 M11

Получает или задает значение в первой строке и первом столбце данной структуры Matrix.Gets or sets the value of the first row and first column of this Matrix structure.

M12 M12 M12 M12

Получает или задает значение в первой строке и втором столбце данной структуры Matrix.Gets or sets the value of the first row and second column of this Matrix structure.

M21 M21 M21 M21

Получает или задает значение во второй строке и первом столбце данной структуры Matrix.Gets or sets the value of the second row and first column of this Matrix structure.

M22 M22 M22 M22

Получает или задает значение во второй строке и втором столбце данной структуры Matrix.Gets or sets the value of the second row and second column of this Matrix structure.

OffsetX OffsetX OffsetX OffsetX

Получает или задает значение в третьей строке и первом столбце данной структуры Matrix.Gets or sets the value of the third row and first column of this Matrix structure.

OffsetY OffsetY OffsetY OffsetY

Получает или задает значение в третьей строке и втором столбце данной структуры Matrix.Gets or sets the value of the third row and second column of this Matrix structure.

Методы

Append(Matrix) Append(Matrix) Append(Matrix) Append(Matrix)

Добавляет заданную структуру Matrix в конец данной структуры Matrix.Appends the specified Matrix structure to this Matrix structure.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, является ли указанный Object структурой Matrix, идентичной данной структуре Matrix.Determines whether the specified Object is a Matrix structure that is identical to this Matrix.

Equals(Matrix) Equals(Matrix) Equals(Matrix) Equals(Matrix)

Определяет, идентична ли указанная структура Matrix данному экземпляру.Determines whether the specified Matrix structure is identical to this instance.

Equals(Matrix, Matrix) Equals(Matrix, Matrix) Equals(Matrix, Matrix) Equals(Matrix, Matrix)

Определяет, совпадают ли две указанные структуры Matrix.Determines whether the two specified Matrix structures are identical.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Возвращает хэш-код данной структуры Matrix.Returns the hash code for this Matrix structure.

Invert() Invert() Invert() Invert()

Преобразует данную структуру Matrix.Inverts this Matrix structure.

Multiply(Matrix, Matrix) Multiply(Matrix, Matrix) Multiply(Matrix, Matrix) Multiply(Matrix, Matrix)

Умножает структуру Matrix на другую структуру Matrix.Multiplies a Matrix structure by another Matrix structure.

Parse(String) Parse(String) Parse(String) Parse(String)

Преобразует представление в виде String матрицы в эквивалентную структуру Matrix.Converts a String representation of a matrix into the equivalent Matrix structure.

Prepend(Matrix) Prepend(Matrix) Prepend(Matrix) Prepend(Matrix)

Добавляет заданную структуру Matrix в начало данной структуры Matrix.Prepends the specified Matrix structure onto this Matrix structure.

Rotate(Double) Rotate(Double) Rotate(Double) Rotate(Double)

Применяет поворот на указанный угол относительно начала координат к этой структуре Matrix.Applies a rotation of the specified angle about the origin of this Matrix structure.

RotateAt(Double, Double, Double) RotateAt(Double, Double, Double) RotateAt(Double, Double, Double) RotateAt(Double, Double, Double)

Поворачивает эту матрицу относительно заданной точки.Rotates this matrix about the specified point.

RotateAtPrepend(Double, Double, Double) RotateAtPrepend(Double, Double, Double) RotateAtPrepend(Double, Double, Double) RotateAtPrepend(Double, Double, Double)

Добавляет поворот на заданный угол относительно заданной точки в начало этой структуры Matrix.Prepends a rotation of the specified angle at the specified point to this Matrix structure.

RotatePrepend(Double) RotatePrepend(Double) RotatePrepend(Double) RotatePrepend(Double)

Добавляет поворот на заданный угол в начало этой структуры Matrix.Prepends a rotation of the specified angle to this Matrix structure.

Scale(Double, Double) Scale(Double, Double) Scale(Double, Double) Scale(Double, Double)

Добавляет заданный вектор масштабирования в конец данной структуры Matrix.Appends the specified scale vector to this Matrix structure.

ScaleAt(Double, Double, Double, Double) ScaleAt(Double, Double, Double, Double) ScaleAt(Double, Double, Double, Double) ScaleAt(Double, Double, Double, Double)

Масштабирует эту структуру Matrix на заданную величину относительно заданной точки.Scales this Matrix by the specified amount about the specified point.

ScaleAtPrepend(Double, Double, Double, Double) ScaleAtPrepend(Double, Double, Double, Double) ScaleAtPrepend(Double, Double, Double, Double) ScaleAtPrepend(Double, Double, Double, Double)

Добавляет заданное масштабирование относительно заданной точки в начало данной структуры Matrix.Prepends the specified scale about the specified point of this Matrix.

ScalePrepend(Double, Double) ScalePrepend(Double, Double) ScalePrepend(Double, Double) ScalePrepend(Double, Double)

Добавляет заданный вектор масштабирования в начало данной структуры Matrix.Prepends the specified scale vector to this Matrix structure.

SetIdentity() SetIdentity() SetIdentity() SetIdentity()

Преобразует эту структуру Matrix в единичную матрицу.Changes this Matrix structure into an identity matrix.

Skew(Double, Double) Skew(Double, Double) Skew(Double, Double) Skew(Double, Double)

Прибавляет отклонение на заданное значение по осям X и Y в конец данной структуры Matrix.Appends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

SkewPrepend(Double, Double) SkewPrepend(Double, Double) SkewPrepend(Double, Double) SkewPrepend(Double, Double)

Добавляет отклонение на заданное значение по осям X и Y в начало данной структуры Matrix.Prepends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

ToString() ToString() ToString() ToString()

Создает представление String для данной структуры Matrix.Creates a String representation of this Matrix structure.

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

Создает представление в виде String данной структуры Matrix с использованием сведений о форматировании, связанных с языком и региональными параметрами.Creates a String representation of this Matrix structure with culture-specific formatting information.

Transform(Point) Transform(Point) Transform(Point) Transform(Point)

Преобразует заданную точку с использованием Matrix и возвращает результат.Transforms the specified point by the Matrix and returns the result.

Transform(Point[]) Transform(Point[]) Transform(Point[]) Transform(Point[])

Преобразует заданные точки с использованием заданной структуры Matrix.Transforms the specified points by this Matrix.

Transform(Vector) Transform(Vector) Transform(Vector) Transform(Vector)

Преобразует заданный вектор с использованием данной структуры Matrix.Transforms the specified vector by this Matrix.

Transform(Vector[]) Transform(Vector[]) Transform(Vector[]) Transform(Vector[])

Преобразует заданные векторы с использованием данной структуры Matrix.Transforms the specified vectors by this Matrix.

Translate(Double, Double) Translate(Double, Double) Translate(Double, Double) Translate(Double, Double)

Добавляет перенос на заданное смещение в конец этой структуры Matrix.Appends a translation of the specified offsets to this Matrix structure.

TranslatePrepend(Double, Double) TranslatePrepend(Double, Double) TranslatePrepend(Double, Double) TranslatePrepend(Double, Double)

Добавляет перенос на заданное смещение в начало в этой структуры Matrix.Prepends a translation of the specified offsets to this Matrix structure.

Операторы

Equality(Matrix, Matrix) Equality(Matrix, Matrix) Equality(Matrix, Matrix) Equality(Matrix, Matrix)

Определяет, совпадают ли две указанные структуры Matrix.Determines whether the two specified Matrix structures are identical.

Inequality(Matrix, Matrix) Inequality(Matrix, Matrix) Inequality(Matrix, Matrix) Inequality(Matrix, Matrix)

Проверяет, являются ли две заданные структуры Matrix не идентичными.Determines whether the two specified Matrix structures are not identical.

Multiply(Matrix, Matrix) Multiply(Matrix, Matrix) Multiply(Matrix, Matrix) Multiply(Matrix, Matrix)

Умножает структуру Matrix на другую структуру Matrix.Multiplies a Matrix structure by another Matrix structure.

Явные реализации интерфейса

IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider)

Форматирует значение текущего экземпляра, используя указанный формат.Formats the value of the current instance using the specified format.

Применяется к

Дополнительно