Класс Matrix

Summary: Replaces the GDI+ Matrix.

Module: aspose.imaging

Full Name: aspose.imaging.Matrix

Constructors

NameDescription
Matrix()Инициализирует новый экземпляр класса Matrix как единичную матрицу.
Matrix(m11, m12, m21, m22, m31, m32)Инициализирует новый экземпляр класса Matrix.
Matrix(origin)Создаёт копию класса Matrix.
Matrix(rect, plgpts)Инициализирует новый экземпляр класса Matrix геометрическим преобразованием, определённым указанным прямоугольником и массивом точек.
Matrix(rect, plgpts)Инициализирует новый экземпляр класса Matrix геометрическим преобразованием, определённым указанным прямоугольником и массивом точек.

Properties

NameTypeAccessDescription
TYPE_FLIP [static]intrЭтот бит флага указывает, что преобразование, определённое этим объектом
выполняет зеркальное отражение относительно некоторой оси, что меняет
обычно правостороннюю систему координат на левостороннюю
систему в дополнение к преобразованиям, указанным другими битами флага.
Правосторонняя система координат — это система, в которой положительная ось X
вращается против часовой стрелки, накладываясь на положительную ось Y,
аналогично направлению, в котором изгибаются пальцы правой руки,
когда вы смотрите на большой палец спереди.
Левосторонняя система координат — это система, в которой положительная ось X
вращается по часовой стрелке, накладываясь на положительную ось Y, аналогично
направлению, в котором изгибаются пальцы левой руки.
Нет математического способа определить угол исходного отражения или зеркального преобразования, поскольку все углы отражения одинаковы при соответствующем корректирующем вращении.
ПРИМЕЧАНИЕ: TypeFlip был добавлен после того, как GENERAL_TRANSFORM стал публичным
и биты флага больше нельзя было удобно перенумеровать без введения бинарной несовместимости во внешнем коде.
TYPE_GENERAL_ROTATION [static]intrЭтот бит флага указывает, что преобразование, определённое этим объектом
выполняет вращение на произвольный угол в дополнение к
преобразованиям, указанным другими битами флага.
Вращение изменяет углы векторов на одинаковую величину
независимо от исходного направления вектора и без
изменения длины вектора.
Этот бит флага взаимно исключает
TYPE_GENERAL_SCALE [static]intrОбщий масштаб умножает длину векторов на разные
величины по осям x и y, не изменяя угол
между перпендикулярными векторами.
Этот бит флага взаимно исключает флаг TypeUniformScale.
TYPE_GENERAL_TRANSFORM [static]intrЭта константа указывает, что преобразование, определённое этим объектом
выполняет произвольное преобразование входных координат.
Если это преобразование может быть классифицировано любой из вышеуказанных констант,
тип будет либо константой TypeIdentity, либо
комбинацией соответствующих битов флага для различных координатных
преобразований, которые выполняет это преобразование.
TYPE_IDENTITY [static]intrТрансформация идентичности — это такая, в которой выходные координаты
всегда совпадают с входными координатами.
Если эта трансформация отличается от трансформации идентичности,
тип будет либо константой GENERAL_TRANSFORM, либо
комбинацией соответствующих битов флага для различных координатных
преобразований, которые выполняет эта трансформация.
TYPE_MASK_ROTATION [static]intrЭта константа является битовой маской для любого из битов флага вращения.
TYPE_MASK_SCALE [static]intrЭта константа является битовой маской для любого из битов флага масштабирования.
TYPE_QUADRANT_ROTATION [static]intrЭтот бит флага указывает, что преобразование, определённое этим объектом
выполняет квадрантное вращение на некоторый кратный 90 градусов в
дополнение к преобразованиям, указанным другими битами флага.
Вращение изменяет углы векторов на одинаковую величину
независимо от исходного направления вектора и без
изменения длины вектора.
Этот бит флага взаимно исключает флаг TypeGeneralRotation.
TYPE_TRANSLATION [static]intrТрансляция перемещает координаты на постоянное значение по x
и y, не изменяя длину или угол векторов.
TYPE_UNIFORM_SCALE [static]intrОднородный масштаб умножает длину векторов на одинаковую величину
как по оси x, так и по оси y, не изменяя угол между
векторами.
Этот бит флага взаимно исключает флаг TypeGeneralScale.
elementsfloat[]rПолучает массив значений с плавающей точкой, представляющих элементы этого Matrix.
m11floatrПолучает элемент матрицы в первой строке первой колонке. Представляет масштаб вдоль оси X.
m12floatrПолучает элемент матрицы в первой строке второй колонке. Представляет сдвиг вдоль оси Y.
m21floatrПолучает элемент матрицы во второй строке первой колонке. Представляет сдвиг вдоль оси X.
m22floatrПолучает элемент матрицы во второй строке второй колонке. Представляет масштаб вдоль оси Y.
m31floatrПолучает элемент матрицы в третьей строке первой колонке. Представляет перемещение вдоль оси X.
m32floatrПолучает элемент матрицы в третьей строке первой колонке. Представляет перемещение вдоль оси Y.

Methods

NameDescription
create_with_rect(rect, plgpts)Инициализирует новый экземпляр класса Matrix геометрическим преобразованием, определённым указанным прямоугольником и массивом точек.
create_with_rect_f(rect, plgpts)Инициализирует новый экземпляр класса Matrix геометрическим преобразованием, определённым указанным прямоугольником и массивом точек.
get_elements()Получает копию элементов матрицы.
multiply(t_tx)Умножает эту Matrix на матрицу, указанную в параметре matrix, используя (по умолчанию) порядок Prepend.
multiply(t_tx, order)Умножает эту Matrix на матрицу, указанную в параметре matrix, в порядке, указанном в параметре order.
reset()Сбрасывает эту Matrix, задавая элементы единичной матрицы.
rotate(angle)Применяет вращение по часовой стрелке на угол, указанный в параметре angle, вокруг начала координат (ноль по x и y) к этой Matrix в порядке по умолчанию (Prepend).
rotate(angle, order)Применяет вращение по часовой стрелке на угол, указанный в параметре angle, вокруг начала координат (ноль по x и y) к этой Matrix в указанном порядке.
rotate_at(angle, point)Применяет вращение по часовой стрелке вокруг указанной точки к этой Matrix в порядке по умолчанию (Prepend).
rotate_at(angle, point, order)Применяет вращение по часовой стрелке вокруг указанной точки к этой Matrix в указанном порядке.
scale(scale_x, scale_y, order)Применяет указанный вектор масштаба (scaleX и scaleY) к этой Matrix используя указанный порядок.
scale(sx, sy)Применяет указанный вектор масштаба (scaleX и scaleY) к этой Matrix, используя (по умолчанию) порядок Prepend.
transform_points(points)Применяет геометрическое преобразование, представленное этой Matrix, к указанному массиву точек.
translate(offset_x, offset_y, order)Применяет указанный вектор перемещения к этой Matrix в указанном порядке.
translate(tx, ty)Применяет указанный вектор перемещения к этой Matrix используя (по умолчанию) порядок Prepend.

Constructor: Matrix()

 Matrix() 

Инициализирует новый экземпляр класса Matrix как единичную матрицу.

Constructor: Matrix(m11, m12, m21, m22, m31, m32)

 Matrix(m11, m12, m21, m22, m31, m32) 

Инициализирует новый экземпляр класса Matrix.

Parameters:

ПараметрТипОписание
m11floatm00 M11 Масштаб X
m12floatm10 M12 Сдвиг Y
m21floatm01 M21 Сдвиг X
m22floatm11 M22 Масштаб Y
m31floatm02 M31 Перемещение X
m32floatm12 M32 Переместить Y

Constructor: Matrix(origin)

 Matrix(origin) 

Создаёт копию класса Matrix.

Parameters:

ПараметрТипОписание
originMatrixБазовая матрица для копирования

Constructor: Matrix(rect, plgpts)

 Matrix(rect, plgpts) 

Инициализирует новый экземпляр класса Matrix геометрическим преобразованием, определённым указанным прямоугольником и массивом точек.

Parameters:

ПараметрТипОписание
rectRectangleFСтруктура RectangleF, представляющая прямоугольник, который будет преобразован.
plgptsPointF[]Массив из трёх структур PointF, представляющих точки параллелограмма, в который будут преобразованы верхний‑левый, верхний‑правый и нижний‑левый углы прямоугольника. Нижний‑правый угол параллелограмма подразумевается первыми тремя углами.

Constructor: Matrix(rect, plgpts)

 Matrix(rect, plgpts) 

Инициализирует новый экземпляр класса Matrix геометрическим преобразованием, определённым указанным прямоугольником и массивом точек.

Parameters:

ПараметрТипОписание
rectRectangleСтруктура RectangleF, представляющая прямоугольник, который будет преобразован.
plgptsPoint[]Массив из трёх структур PointF, представляющих точки параллелограмма, в который будут преобразованы верхний‑левый, верхний‑правый и нижний‑левый углы прямоугольника. Нижний‑правый угол параллелограмма подразумевается первыми тремя углами.

Method: create_with_rect(rect, plgpts) [static]

 create_with_rect(rect, plgpts) 

Инициализирует новый экземпляр класса Matrix геометрическим преобразованием, определённым указанным прямоугольником и массивом точек.

Parameters:

ПараметрТипОписание
rectRectangleСтруктура RectangleF, представляющая прямоугольник, который будет преобразован.
plgptsPoint[]Массив из трёх структур PointF, представляющих точки параллелограмма, в который будут преобразованы верхний‑левый, верхний‑правый и нижний‑левый углы прямоугольника. Нижний‑правый угол параллелограмма подразумевается первыми тремя углами.

Returns

ТипОписание
Matrix

Method: create_with_rect_f(rect, plgpts) [static]

 create_with_rect_f(rect, plgpts) 

Инициализирует новый экземпляр класса Matrix геометрическим преобразованием, определённым указанным прямоугольником и массивом точек.

Parameters:

ПараметрТипОписание
rectRectangleFСтруктура RectangleF, представляющая прямоугольник, который будет преобразован.
plgptsPointF[]Массив из трёх структур PointF, представляющих точки параллелограмма, в который будут преобразованы верхний‑левый, верхний‑правый и нижний‑левый углы прямоугольника. Нижний‑правый угол параллелограмма подразумевается первыми тремя углами.

Returns

ТипОписание
Matrix

Method: get_elements()

 get_elements() 

Получает копию элементов матрицы.

Returns

ТипОписание
float[]Копия элементов матрицы.

Method: multiply(t_tx)

 multiply(t_tx) 

Умножает эту Matrix на матрицу, указанную в параметре matrix, используя (по умолчанию) порядок Prepend.

Parameters:

ПараметрТипОписание
t_txMatrixМатрица, с которой производится умножение.

Method: multiply(t_tx, order)

 multiply(t_tx, order) 

Умножает эту Matrix на матрицу, указанную в параметре matrix, в порядке, указанном в параметре order.

Parameters:

ПараметрТипОписание
t_txMatrixtx. tx. tx.
orderMatrixOrderпорядок. порядок. порядок.

Method: rotate(angle)

 rotate(angle) 

Применяет вращение по часовой стрелке на угол, указанный в параметре angle, вокруг начала координат (ноль по x и y) к этой Matrix в порядке по умолчанию (Prepend).

Parameters:

ПараметрТипОписание
уголfloatУгол вращения.

Method: rotate(angle, order)

 rotate(angle, order) 

Применяет вращение по часовой стрелке на угол, указанный в параметре angle, вокруг начала координат (ноль по x и y) к этой Matrix в указанном порядке.

Parameters:

ПараметрТипОписание
уголfloatУгол вращения.
orderMatrixOrderПорядок матрицы.

Method: rotate_at(angle, point)

 rotate_at(angle, point) 

Применяет вращение по часовой стрелке вокруг указанной точки к этой Matrix в порядке по умолчанию (Prepend).

Parameters:

ПараметрТипОписание
уголfloatУгол.
pointPointFТочка.

Method: rotate_at(angle, point, order)

 rotate_at(angle, point, order) 

Применяет вращение по часовой стрелке вокруг указанной точки к этой Matrix в указанном порядке.

Parameters:

ПараметрТипОписание
уголfloatУгол.
pointPointFТочка.
orderMatrixOrderПорядок.

Method: scale(scale_x, scale_y, order)

 scale(scale_x, scale_y, order) 

Применяет указанный вектор масштаба (scaleX и scaleY) к этой Matrix используя указанный порядок.

Parameters:

ПараметрТипОписание
scale_xfloatМасштаб X.
scale_yfloatМасштаб Y.
orderMatrixOrderПорядок.

Method: scale(sx, sy)

 scale(sx, sy) 

Применяет указанный вектор масштаба (scaleX и scaleY) к этой Matrix, используя (по умолчанию) порядок Prepend.

Parameters:

ПараметрТипОписание
sxfloatsx. sx. sx.
syfloatsy. sy. sy.

Method: transform_points(points)

 transform_points(points) 

Применяет геометрическое преобразование, представленное этой Matrix, к указанному массиву точек.

Parameters:

ПараметрТипОписание
pointsPointF[]Точки.

Method: translate(offset_x, offset_y, order)

 translate(offset_x, offset_y, order) 

Применяет указанный вектор перемещения к этой Matrix в указанном порядке.

Parameters:

ПараметрТипОписание
offset_xfloatСмещение X.
offset_yfloatСмещение Y.
orderMatrixOrderПорядок.

Method: translate(tx, ty)

 translate(tx, ty) 

Применяет указанный вектор перемещения к этой Matrix используя (по умолчанию) порядок Prepend.

Parameters:

ПараметрТипОписание
txfloattx. tx. tx.
tyfloatty. ty. ty.