Class Matrix

Class Matrix

Der Name: Aspose.Imaging Versammlung: Aspose.Imaging.dll (25.4.0)

Sie ersetzen die GDI+ Matrix.

[JsonObject(MemberSerialization.OptIn)]
public class Matrix

Inheritance

object Matrix

Vererbte Mitglieder

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

Remarks

Die meisten Algorithmen stammen von Sun’s AffineTransform.java.Java-Namen für Matrix-Elemente, die intern verwendet werden.Karte von Java-Namen zu .net-Namen zu beschreiben:M00 M11 Skala XM10 M12 Schicht YM01 M21 Schicht Xm11 M22 Skala Ym02 M31 Übersetzung Xm12 M32 Übersetzung Y

Constructors

Matrix()

Initialisiert eine neue Instanz der Matrix-Klasse als Identitätsmatrix.

public Matrix()

Matrix(Flotte, Flotte, Flotte, Flotte, Flotte)

Initialisiert eine neue Instanz der Aspose.Imaging.Matrix Klasse.

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

Parameters

m11 float

M00 M11 Skala X

m12 float

M10 M12 Schicht Y

m21 float

M01 M21 Schicht X

m22 float

m11 M22 Skala Y

m31 float

m02 M31 Übersetzung X

m32 float

m12 M32 Übersetzung Y

Matrix(RectangleF und PointF[])

Initialisiert eine neue Instanz der Aspose.Imaging.Matrix Klasse zur geometrischen Transformation, die durch den angegebenen Rechteck und die Reihe von Punkten definiert wird.

public Matrix(RectangleF rect, PointF[] plgpts)

Parameters

rect RectangleF

Eine Aspose.Imaging.RectangleF Struktur, die den Rechtangel darstellt, der transformiert werden soll.

plgpts PointF [][]

Eine Reihe von drei Aspose.Imaging.PointF Strukturen, die die Punkte eines Parallelogramms darstellen, zu denen die oberen linken, oberen rechten und unteren linken Ecke des Rechteckens umgewandelt werden sollen.

Matrix(Rectangle, Punkt[])

Initialisiert eine neue Instanz der Aspose.Imaging.Matrix Klasse zur geometrischen Transformation, die durch den angegebenen Rechteck und die Reihe von Punkten definiert wird.

public Matrix(Rectangle rect, Point[] plgpts)

Parameters

rect Rectangle

Eine Aspose.Imaging.Rectangle Struktur, die den Rechtangel darstellt, der transformiert werden soll.

plgpts Point [][]

Eine Reihe von drei Aspose.Imaging.Point-Strukturen, die die Punkte eines Parallelogramms darstellen, zu denen die oberen linken, oberen rechten und unteren linken Ecke des Rechteckens umgewandelt werden sollen.

Matrix(Matrix)

Erstellt eine Kopie der Aspose.Imaging.Matrix Klasse.

public Matrix(Matrix origin)

Parameters

origin Matrix

Eine Grundmatrix für die Bewältigung

Fields

TypeFlip

Diese Flaggschicht weist darauf hin, dass die von diesem Objekt definierte Transformationerledigt ein Spiegelbild über einige Achse, die dienormalerweise rechte Hand Koordinatsystem in eine linken HandSystem neben den von anderen Flagbits angegebenen Konvertierungen.Ein rechterhandes Koordinatsystem ist ein, in dem die positive XAkse dreht sich counterklockwise, um die positive Y-Axe zu überwindenähnlich der Richtung, die die Finger auf der rechten Handkurl, wenn du auf deinen thumb stehst.Ein linkshandes Koordinatsystem ist ein, in dem die positive XAxis dreht sich zeitweise, um die positive Y-Axe ähnlich zu überwindenin die Richtung, in der die Finger auf der linken Hand rutschen.Es gibt keinen mathematischen Weg, um den Winkel derursprüngliche Flipping oder Spiegeltransformation aus allen EckenFlip sind identisch, da eine angemessene Anpassungsrotation angezeigt wird.Hinweis: TypeFlip wurde hinzugefügt, nachdem GENERAL_TRANSFORM öffentlich warVerkehr und die Flagbits könnten nicht mehr bequem seinRenumeriert ohne Einführung binärer Inkompatibilität im AußenbereichDer Code.

public const int TypeFlip = 64

Feldwert

int

TypeGeneralRotation

Diese Flaggschicht weist darauf hin, dass die von diesem Objekt definierte TransformationDurchführen Sie eine Rotation durch einen arbiträren Winkel neben derKonvertierungen, die von anderen Flagbits angegeben werden.Eine Rotation ändert die Winkel der Vektoren mit der gleichen Mengeunabhängig von der ursprünglichen Richtung des Vektors und ohneVeränderung der Länge des Vektors.Diese Flagge ist gegenseitig exklusiv mit der

public const int TypeGeneralRotation = 16

Feldwert

int

TypeGeneralScale

Eine allgemeine Skala multipliziert die Länge der Vektoren durch unterschiedlicheMenge in den Richtungen x und y, ohne den Winkel zu ändernzwischen perpendikulären Vektoren.Diese Flaggschicht ist gegenseitig exklusiv mit der TypeUniformScale Flagge.

public const int TypeGeneralScale = 4

Feldwert

int

TypeGeneralTransform

Diese Konstante weist darauf hin, dass die durch dieses Objekt definierte TransformationDurchführen Sie eine freiwillige Umwandlung der Eingangskoordinate.Wenn diese Transformation durch eine der oben genannten Konstanzen klassifiziert werden kann,Der Typ wird entweder die konstante Typidentität oder eineKombination der entsprechenden Flagbits für die verschiedenen KoordinatenKonvertierungen, die diese Transformation durchgeführt.

public const int TypeGeneralTransform = 32

Feldwert

int

TypeIdentity

Eine Identitätstransformation ist eine, in der die AusgangskoordinateImmer die gleiche wie die Eintrittskoordinate.Wenn diese Transformation nichts anderes ist als die Identität Transformation,die Art wird entweder die konstante GENERAL_TRANSFORM oder eineKombination der entsprechenden Flagbits für die verschiedenen KoordinatenKonvertierungen, die diese Transformation durchgeführt.

public const int TypeIdentity = 0

Feldwert

int

TypeMaskRotation

Diese Konstante ist eine kleine Maske für jede der Rotation Flagbits.

public const int TypeMaskRotation = 24

Feldwert

int

TypeMaskScale

Diese Konstante ist eine kleine Maske für jede der Flaggschiffe der Skala.

public const int TypeMaskScale = 6

Feldwert

int

TypeQuadrantRotation

Diese Flaggschicht weist darauf hin, dass die von diesem Objekt definierte TransformationDurchführen Sie eine Quadrantrotation mit mehreren von 90 Grad inzusätzlich zu den von anderen Flagbits angegebenen Konvertierungen.Eine Rotation ändert die Winkel der Vektoren mit der gleichen Mengeunabhängig von der ursprünglichen Richtung des Vektors und ohneVeränderung der Länge des Vektors.Diese Flaggschicht ist gegenseitig exklusiv mit der TypeGeneralRotation-Flagge.

public const int TypeQuadrantRotation = 8

Feldwert

int

TypeTranslation

Eine Übersetzung bewegt die Koordinaten durch eine konstante Menge in xund y ohne die Länge oder den Winkel der Vektoren zu ändern.

public const int TypeTranslation = 1

Feldwert

int

TypeUniformScale

Eine einheitliche Skala multipliziert die Länge der Vektoren mit der gleichen Menge.in beiden Richtungen x und y, ohne den Winkel zwischenDie Vektoren.Diese Flaggschicht ist gegenseitig exklusiv mit der TypeGeneralScale Flagge.

public const int TypeUniformScale = 2

Feldwert

int

Properties

Elements

Er erhält eine Reihe von Floating-Point-Werte, die die Elemente dieses Aspose.Imaging.Matrix darstellen.

public float[] Elements { get; }

Eigentumswert

float [][]

M11

Er erhält das Matrixelement in der ersten Reihe der ersten Spalte. repräsentiert die Skala entlang der X-Axe.

[JsonProperty]
public float M11 { get; }

Eigentumswert

float

M12

Er erhält das Matrix-Element in der ersten Reihe zweiter Spalte. repräsentiert die Shear entlang der Y-Axe.

[JsonProperty]
public float M12 { get; }

Eigentumswert

float

M21

Er erhält das Matrix-Element in der zweiten Reihe der ersten Spalte. repräsentiert die Scheibe entlang der X-Axe.

[JsonProperty]
public float M21 { get; }

Eigentumswert

float

M22

Er bekommt das Matrixelement in der zweiten Runde zweiter Spalte. repräsentiert die Skala entlang der Y-Axe.

[JsonProperty]
public float M22 { get; }

Eigentumswert

float

M31

Er erhält das Matrixelement in der dritten Reihe der ersten Spalte. repräsentiert Übersetzung entlang der X-Axe.

[JsonProperty]
public float M31 { get; }

Eigentumswert

float

M32

Er erhält das Matrixelement in der dritten Reihe der ersten Spalte. repräsentiert Übersetzung entlang der Y-Axe.

[JsonProperty]
public float M32 { get; }

Eigentumswert

float

Methods

Equals(Matrix und Matrix)

Sie bestimmen, ob zwei Matrixen gleich sind.

public static bool Equals(Matrix a, Matrix b)

Parameters

a Matrix

Die erste Matrix zu vergleichen.

b Matrix

Die zweite Matrix zu vergleichen.

Returns

bool

Es ist wahr, wenn die Matrixen gleich sind.

Equals(Objekt)

Es bestimmt, ob der angegebenen System.Object mit dieser Instanz gleich ist.

public override bool Equals(object obj)

Parameters

obj object

Das System.Object zu vergleichen mit dieser Instanz.

Returns

bool

‘rich’ wenn der angegebenen System.Object mit diesem Beispiel gleich ist; sonst ‘falsch’.

Exceptions

NullReferenceException

Der obj’ Parameter ist null.

GetElements()

Er erhält die Kopie der Matrix-Elemente.

public float[] GetElements()

Returns

float [][]

Eine Matrix-Elemente Kopie.

GetHashCode()

Wiederherstellen eines Hash-Codes für diesen Fall.

public override int GetHashCode()

Returns

int

Ein Hash-Code für dieses Beispiel, geeignet für die Verwendung in Hash-Algorithmen und Datenstrukturen wie eine Hash-Tabelle.

Multiply(Matrix und MatrixOrder)

Multipliziert diese Matrix durch die Matrix, die in der Matrix-Parameter angegeben ist, und in der Ordnung, die in der Ordnung-Parameter angegeben ist.

public void Multiply(Matrix tTx, MatrixOrder order)

Parameters

tTx Matrix

Der Tsch. der Tsch. der Tsch.

order MatrixOrder

Die Bestellung, die Bestellung, die Bestellung.

Multiply(Matrix)

Multiplizieren Sie diese Matrix durch die Matrix, die in der Matrix-Parameter angegeben wird, mit (default) Prepend Order.

public void Multiply(Matrix tTx)

Parameters

tTx Matrix

Die Matrix zu multiplizieren.

Reset()

Wiederherstellen Sie diese Matrix, um die Elemente der Identitätsmatrix zu haben.

public void Reset()

Rotate(Flöte, MatrixOrder)

Anwenden Sie eine Uhrrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundrundr.

public void Rotate(float angle, MatrixOrder order)

Parameters

angle float

Die rotative Ecke.

order MatrixOrder

Die Matrix Ordnung.

Rotate(Flotte)

Anwenden Sie eine Uhrrunde einer in den Winkelparameter angegebenen Menge um den Ursprung (zero x und y Koordinaten) für diese Matrix in der Standardordnung (Prepend.

public void Rotate(float angle)

Parameters

angle float

Die rotative Ecke.

RotateAt(Flöte, PointF, MatrixOrder)

Anwenden Sie eine Uhrrunde um den angegebenen Punkt auf diese Matrix in der angegebenen Reihenfolge.

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

Parameters

angle float

Der Winkel.

point PointF

Der Punkt.

order MatrixOrder

Die Bestellung.

RotateAt(Fliegen, PointF)

Anwenden Sie eine Uhrwinkel-Rotation über den angegebenen Punkt auf diese Matrix in der Standardordnung (Prepend.

public void RotateAt(float angle, PointF point)

Parameters

angle float

Der Winkel.

point PointF

Der Punkt.

Scale(Flotte, Flotte und MatrixOrder)

Anwenden Sie den angegebenen Skala-Vektor (scaleX und scaleY) zu diesem Aspose.Imaging.Matrix mit der angegebenen Bestellung.

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

Parameters

scaleX float

Die Skala X.

scaleY float

Die Skala Y.

order MatrixOrder

Die Bestellung.

Scale(Flotte und Flotte)

Anwenden Sie den angegebenen Skala-Vektor (scaleX und scaleY) auf diese Matrix mit (default) Prepend-Betrieb.

public void Scale(float sx, float sy)

Parameters

sx float

Die sx. die sx. die sx. die sx.

sy float

Die S. Die S. Die S. Die S. Die S. Die S. Die S.

ToString()

Wiederherstellt eine System.String, die diese Instanz darstellt.

public override string ToString()

Returns

string

Ein System.String, der diese Instanz vertritt.

TransformPoints(Punkte[])

Anwendung der geometrischen Transformation, die durch diese Aspose.Imaging.Matrix auf eine bestimmte Reihe von Punkten dargestellt wird.

public void TransformPoints(PointF[] points)

Parameters

points PointF [][]

Die Punkte.

Translate(Flotte, Flotte und MatrixOrder)

Anwenden Sie den angegebenen Übersetzungsvektor auf diese Matrix in der angegebenen Reihenfolge.

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

Parameters

offsetX float

Der Offset X.

offsetY float

Der Offset Y.

order MatrixOrder

Die Bestellung.

Translate(Flotte und Flotte)

Anwenden Sie den angegebenen Übersetzungsvektor zu diesem Aspose.Imaging.Matrix mit (default) Prepend Order.

public void Translate(float tx, float ty)

Parameters

tx float

Der Tsch. der Tsch. der Tsch.

ty float

Die ty. die ty. die ty.

 Deutsch