## Matrix class


Представляет 3×3 матрицу, определяющую операции преобразования. Объекты этого класса должны выделяться только с помощью функции [System::MakeObject()](../../system/makeobject/) . Никогда не создавайте экземпляр этого типа в стеке или с использованием оператора new, так как это приведёт к ошибкам выполнения и/или сбоям утверждений. Всегда оборачивайте этот класс в указатель [System::SmartPtr](../../system/smartptr/) и используйте этот указатель для передачи его в функции в качестве аргумента.

```cpp
class Matrix : public System::Object
```

## Методы

| Метод | Описание |
| --- | --- |
| [Clone](./clone/)() const | Создаёт копию текущего объекта. |
| [Dispose](./dispose/)() | Освобождает все ресурсы операционной системы, полученные текущим объектом. |
| [Equals](./equals/)(ptr) override | Проверяет, является ли указанный объект [Matrix](./) и идентичен ли он этому объекту. |
| [get_Elements](./get_elements/)() const | Возвращает массив, содержащий элементы матрицы в следующем порядке: m11, m12, m21, m22, dx, dy. |
| [get_IsIdentity](./get_isidentity/)() const | Определяет, является ли матрица, представленная текущим объектом, единичной матрицей. |
| [get_IsInvertible](./get_isinvertible/)() const | Определяет, является ли матрица, представленная текущим объектом, обратимой. |
| [get_OffsetX](./get_offsetx/)() const | Возвращает значение трансляции X матрицы, представленной текущим объектом. |
| [get_OffsetY](./get_offsety/)() const | Возвращает значение трансляции Y матрицы, представленной текущим объектом. |
| [Invert](./invert/)() | Инвертирует матрицу, представленную текущим объектом. |
| [Matrix](./matrix/)() | Создаёт новый экземпляр класса [Matrix](./), представляющий единичную матрицу. |
| [Matrix](./matrix/)(float, float, float, float, float, float) | Создаёт новый экземпляр класса [Matrix](./) и инициализирует его указанными значениями. |
| [Matrix](./matrix/)(const Rectangle\&, const ArrayPtr\<Point\>\&) | Создаёт новый экземпляр класса [Matrix](./) для геометрического преобразования, определённого указанным прямоугольником и массивом точек. |
| [Matrix](./matrix/)(const RectangleF\&, const ArrayPtr\<PointF\>\&) | Создаёт новый экземпляр класса [Matrix](./) для геометрического преобразования, определённого указанным прямоугольником и массивом точек. |
| [Multiply](./multiply/)(const SharedPtr\<Matrix\>\&) | Умножает матрицу, представленную текущим объектом, на указанную матрицу. |
| [Multiply](./multiply/)(const SharedPtr\<Matrix\>\&, MatrixOrder) | Умножает матрицу, представленную текущим объектом, на указанную матрицу. |
| [Reset](./reset/)() | Сбрасывает матрицу, представленную текущим объектом, так чтобы она стала единичной матрицей. |
| [Rotate](./rotate/)(float) | Поворачивает матрицу, представленную текущим объектом, по часовой стрелке на указанный угол. |
| [Rotate](./rotate/)(float, MatrixOrder) | Поворачивает матрицу, представленную текущим объектом, по часовой стрелке вокруг начала координат на указанный угол. |
| [RotateAt](./rotateat/)(float, const PointF\&) | Поворачивает матрицу, представленную текущим объектом, по часовой стрелке вокруг указанной точки на указанный угол. |
| [RotateAt](./rotateat/)(float, const PointF\&, MatrixOrder) | Поворачивает матрицу, представленную текущим объектом, по часовой стрелке вокруг указанной точки на указанный угол. |
| [Scale](./scale/)(float, float) | Применяет указанный вектор масштабирования к матрице, представленной текущим объектом. |
| [Scale](./scale/)(float, float, MatrixOrder) | Применяет указанный вектор масштабирования к матрице, представленной текущим объектом. |
| [Shear](./shear/)(float, float) | Применяет указанный вектор сдвига к матрице, представленной текущим объектом. |
| [Shear](./shear/)(float, float, MatrixOrder) | Применяет указанный вектор сдвига к матрице, представленной текущим объектом. |
| [TransformPoints](./transformpoints/)(const ArrayPtr\<Point\>\&) | Применяет геометрическое преобразование, определённое матрицей, представленной текущим объектом, к указанным точкам. |
| [TransformPoints](./transformpoints/)(const System::Details::ArrayView\<Point\>\&) | Применяет геометрическое преобразование, определённое матрицей, представленной текущим объектом, к указанным точкам. |
| [TransformPoints](./transformpoints/)(const ArrayPtr\<PointF\>\&) | Применяет геометрическое преобразование, определённое матрицей, представленной текущим объектом, к указанным точкам. |
| [TransformPoints](./transformpoints/)(const System::Details::ArrayView\<PointF\>\&) | Применяет геометрическое преобразование, определённое матрицей, представленной текущим объектом, к указанным точкам. |
| [TransformVectors](./transformvectors/)(const ArrayPtr\<Point\>\&) | Применяет только компоненты масштабирования и вращения матрицы, представленной текущим объектом, к указанным точкам. |
| [TransformVectors](./transformvectors/)(const System::Details::ArrayView\<Point\>\&) | Применяет только компоненты масштабирования и вращения матрицы, представленной текущим объектом, к указанным точкам. |
| [TransformVectors](./transformvectors/)(const ArrayPtr\<PointF\>\&) | Применяет только компоненты масштабирования и вращения матрицы, представленной текущим объектом, к указанным точкам. |
| [TransformVectors](./transformvectors/)(const System::Details::ArrayView\<PointF\>\&) | Применяет только компоненты масштабирования и вращения матрицы, представленной текущим объектом, к указанным точкам. |
| [Translate](./translate/)(float, float) | Применяет указанный вектор переноса к матрице, представленной текущим объектом. |
| [Translate](./translate/)(float, float, MatrixOrder) | Применяет указанный вектор переноса к матрице, представленной текущим объектом. |
| [VectorTransformPoints](./vectortransformpoints/)(const ArrayPtr\<Point\>\&) | Умножает каждый вектор в массиве на матрицу, представленную текущим объектом. |
| [VectorTransformPoints](./vectortransformpoints/)(const System::Details::ArrayView\<Point\>\&) | Умножает каждый вектор в массиве на матрицу, представленную текущим объектом. |
| virtual [~Matrix](./~matrix/)() | Деструктор. |
## См. также

* Class [Object](../../system/object/)
* Namespace [System::Drawing::Drawing2D](../)
* Library [Aspose.PDF for C++](../../)
