Class Matrix

Class Matrix

Название пространства: Aspose.Imaging Ассоциация: Aspose.Imaging.dll (25.4.0)

Заменить матрицу GDI +.

[JsonObject(MemberSerialization.OptIn)]
public class Matrix

Inheritance

object Matrix

Наследованные члены

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Remarks

Большинство алгоритмов взято из Sun’s AffineTransform.java.Имена Java для элементов матрицы используются внутри.Карта названий Java в .net для описания:М00 М11 Скала XМ10 М12 Shear YМ01 M21 Shear XМ11 М22 Скала Ym02 M31 Перевод XМ12 М32 Перевод Y

Constructors

Matrix()

Инициализует новую инстанцию класса Матрицы как матрицы идентичности.

public Matrix()

Matrix(флота, флота, флота, флота, флота)

Инициализует новую инстанцию класса Aspose.Imaging.Matrix.

[JsonConstructor]
public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)

Parameters

m11 float

М00 М11 Скала X

m12 float

М10 М12 Shear Y

m21 float

М01 M21 Shear X

m22 float

М11 М22 Скала Y

m31 float

m02 M31 Перевод X

m32 float

М12 М32 Перевод Y

Matrix(Оригинальное название: PointF[])

Инициализует новую инстанцию Aspose.Imaging.Matrix класса к геометрической трансформации, определяемой указанным прямоугольным и диапазоном точек.

public Matrix(RectangleF rect, PointF[] plgpts)

Parameters

rect RectangleF

Структура Aspose.Imaging.RectangleF, представляющая прямоугольник, который должен быть преобразован.

plgpts PointF [ ]

Набор из трех Aspose.Imaging.PointF структур, представляющих точки параллелограммы, к которым должны быть трансформированы верхние левые, верхне правое и нижние лявые углы прямоугольника.

Matrix(Точка, точка[])

Инициализует новую инстанцию Aspose.Imaging.Matrix класса к геометрической трансформации, определяемой указанным прямоугольным и диапазоном точек.

public Matrix(Rectangle rect, Point[] plgpts)

Parameters

rect Rectangle

Aspose.Imaging.Rectangle структура, представляющая правоуголь, который должен быть преобразован.

plgpts Point [ ]

Набор из трех Aspose.Imaging.Точковые структуры, представляющие точки параллелограммы, к которым должны быть трансформированы верхние левые, верхне правые и нижние лявые углы прямоугольника.

Matrix(Matrix)

Создает копию класса Aspose.Imaging.Matrix.

public Matrix(Matrix origin)

Parameters

origin Matrix

Базовая матрица для борьбы

Fields

TypeFlip

Этот флаг бит указывает на то, что трансформация, определяемая этим объектомвыполняет флип зеркальной картины вокруг некоторой оси, которая меняетнормально правой ручной координатной системы в левую ручнуюСистема помимо конверсий, указанных другими флагманскими битами.Система координат в правой руке — это система, в которой положительный XОсь вращается контрчасовым образом, чтобы преодолеть положительную Ось Yаналогично направлению, в котором пальцы на правой рукеКурль, когда вы держите конец на вашем пальце.Система координат в левом руке — это система, в которой положительный XАксес вращается по часам, чтобы преодолеть положительную Y-аксесв направлении, в котором колебаются пальцы левой руки.Не существует математического способа определить уголОригинальная флипировка или зеркальная трансформация со всех угловflip идентичны с учетом соответствующей корректирующей ротации.Примечание: TypeFlip был добавлен после того, как GENERAL_TRANSFORM был в публикеЦиркуляция и флаг битов больше не могли быть удобнымипереименования без введения бинарной несовместимости снаружиИ код .

public const int TypeFlip = 64

Полевая ценность

int

TypeGeneralRotation

Этот флаг бит указывает на то, что трансформация, определяемая этим объектомвыполняет ротацию по произвольному углу в дополнение кконверсии, указанные другими флагманскими битами.Ротация меняет углы векторов одинаково.независимо от первоначального направления вектора и безИзменение длины вектора.Этот флаг бит является взаимно исключительным с

public const int TypeGeneralRotation = 16

Полевая ценность

int

TypeGeneralScale

Общая скала умножает длину векторов разнымиКоличество в направлениях x и y без изменения угламежду перпендикулярными векторами.Этот флаг бит является взаимно эксклюзивным с флагом TypeUniformScale.

public const int TypeGeneralScale = 4

Полевая ценность

int

TypeGeneralTransform

Эта константа указывает на то, что трансформация, определяемая этим объектомосуществляет произвольную конверсию входящих координатов.Если эта трансформация может быть классифицирована какими-либо из вышеуказанных константов,тип будет либо постоянной TypeIdentity, либосочетание соответствующих флагбитов для различных координатовКонверсии, которые эта трансформация выполняет.

public const int TypeGeneralTransform = 32

Полевая ценность

int

TypeIdentity

Трансформация идентичности — это то, в котором координаты выходаВсегда то же самое, что и входные координаты.Если эта трансформация является чем-то другим, чем трансформация личности,Тип будет либо постоянным GENERAL_TRANSFORM илисочетание соответствующих флагбитов для различных координатовКонверсии, которые эта трансформация выполняет.

public const int TypeIdentity = 0

Полевая ценность

int

TypeMaskRotation

Эта константа представляет собой небольшую маску для любого из битов ротационного флага.

public const int TypeMaskRotation = 24

Полевая ценность

int

TypeMaskScale

Эта константа представляет собой небольшую маску для любого из флагматов масштаба.

public const int TypeMaskScale = 6

Полевая ценность

int

TypeQuadrantRotation

Этот флаг бит указывает на то, что трансформация, определяемая этим объектомвыполняет квадратную ротацию несколькими 90 градусов вв дополнение к конверсиям, указанным другими флагманами.Ротация меняет углы векторов одинаково.независимо от первоначального направления вектора и безИзменение длины вектора.Этот флаг бит является взаимно исключительным с флагом TypeGeneralRotation.

public const int TypeQuadrantRotation = 8

Полевая ценность

int

TypeTranslation

Перевод движет координаты постоянным количеством в xи и без изменения длины или угла векторов.

public const int TypeTranslation = 1

Полевая ценность

int

TypeUniformScale

Единая скала умножает длину векторов одинаково.в обоих направлениях x и y без изменения угла междуВекторы →Этот флаг бит является взаимно эксклюзивным с флагом TypeGeneralScale.

public const int TypeUniformScale = 2

Полевая ценность

int

Properties

Elements

Получается целый ряд плавающих точек ценностей, представляющих элементы этого Aspose.Imaging.Matrix.

public float[] Elements { get; }

Стоимость недвижимости

float [ ]

M11

Получает элемент матрицы в первой строке первой колонны. Представляет шкалу вдоль X-оси.

[JsonProperty]
public float M11 { get; }

Стоимость недвижимости

float

M12

Получает элемент матрицы в первой строке второй колонны. Представляет листья вдоль оси Y.

[JsonProperty]
public float M12 { get; }

Стоимость недвижимости

float

M21

Получается элемент матрицы во втором строке первой колонны. Представляет листья вдоль X-оси.

[JsonProperty]
public float M21 { get; }

Стоимость недвижимости

float

M22

Получается элемент матрицы во втором строке второй колонны. Представляет масштаб вдоль оси Y.

[JsonProperty]
public float M22 { get; }

Стоимость недвижимости

float

M31

Получается элемент матрицы в третьем строке первой колонны. Представляет перевод вдоль X-оси.

[JsonProperty]
public float M31 { get; }

Стоимость недвижимости

float

M32

Получается элемент матрицы в третьем строке первой колонны. Представляет перевод вдоль оси Y.

[JsonProperty]
public float M32 { get; }

Стоимость недвижимости

float

Methods

Equals(Матрица , Matrix)

Определяет, равны ли две матрицы.

public static bool Equals(Matrix a, Matrix b)

Parameters

a Matrix

Первая матрица для сравнения.

b Matrix

Вторая матрица для сравнения.

Returns

bool

Правда, если матрицы равны.

Equals(Объекты)

Определяет, равен ли указанный System.Object этому показателю.

public override bool Equals(object obj)

Parameters

obj object

Система.Обект сравнивать с этой инстанцией.

Returns

bool

“Правда” если указанный System.Object равен этому примере; в противном случае, “фальшивый”.

Exceptions

NullReferenceException

Параметр obj" является нулевым.

GetElements()

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

public float[] GetElements()

Returns

float [ ]

Копия элементов матрицы.

GetHashCode()

Возвращайте код хаша для этого случая.

public override int GetHashCode()

Returns

int

Хэш-код для этого примера, подходящий для использования в алгоритмах хаширования и структурах данных, таких как таблица хаширования.

Multiply(Матрица, MatrixOrder)

Умножает эту матрицу по матрице, указанной в параметре матрицы, и в порядке, указанном в параметре порядка.

public void Multiply(Matrix tTx, MatrixOrder order)

Parameters

tTx Matrix

Ч. Ч. Ч. Ч. Ч. Ч.

order MatrixOrder

Заказ — Заказ — Заказ.

Multiply(Matrix)

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

public void Multiply(Matrix tTx)

Parameters

tTx Matrix

Матрица для размножения.

Reset()

Восстановите эту матрицу, чтобы иметь элементы матрицы личности.

public void Reset()

Rotate(Флоат, MatrixOrder)

Применяется часовая ротация количества, указанного в угловом параметре, вокруг происхождения (координаты нуля x и y) для этой Матрицы в указанном порядке.

public void Rotate(float angle, MatrixOrder order)

Parameters

angle float

Ротационный угол .

order MatrixOrder

Порядок матрицы .

Rotate(Флота)

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

public void Rotate(float angle)

Parameters

angle float

Ротационный угол .

RotateAt(Флоат, PointF, MatrixOrder)

Применить ротацию часов по указанной точке на эту матрицу в указанном порядке.

public void RotateAt(float angle, PointF point, MatrixOrder order)

Parameters

angle float

В углу .

point PointF

С точки .

order MatrixOrder

и ордена .

RotateAt(Флоат, PointF)

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

public void RotateAt(float angle, PointF point)

Parameters

angle float

В углу .

point PointF

С точки .

Scale(плаватель, плаватель, MatrixOrder)

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

public void Scale(float scaleX, float scaleY, MatrixOrder order)

Parameters

scaleX float

На шкале X.

scaleY float

В масштабе и.

order MatrixOrder

и ордена .

Scale(Флота, Флота)

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

public void Scale(float sx, float sy)

Parameters

sx float

Ск. ск. ск. ск. ск.

sy float

С. С. С. С. С. С. С. С.

ToString()

Возвращает System.String, который представляет эту инстанцию.

public override string ToString()

Returns

string

Система.String, представляющая эту инстанцию.

TransformPoints(PointF[])

Применяет геометрическую трансформацию, представленную этим Aspose.Imaging.Matrix, к определенному диапазону точек.

public void TransformPoints(PointF[] points)

Parameters

points PointF [ ]

и точек .

Translate(плаватель, плаватель, MatrixOrder)

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

public void Translate(float offsetX, float offsetY, MatrixOrder order)

Parameters

offsetX float

Оферта X.

offsetY float

Оценка и.

order MatrixOrder

и ордена .

Translate(Флота, Флота)

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

public void Translate(float tx, float ty)

Parameters

tx float

Ч. Ч. Ч. Ч. Ч. Ч.

ty float

Ти Ти Ти Ти Ти Ти Ти Ти

 Русский